我在我的控制器中有这个动作
public IHttpActionResult PostTour(Tour tour)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Tours.Add(tour);
db.SaveChanges();
//return CreatedAtRoute("DefaultApi", new { id = tour.Id }, tour);
return Ok(tour.Id);
}
和WebApiConfig就像这样
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我使用Jquery Ajax发送这样的请求
$(function () {
var Tour = { 'TourName': "Tour1", 'UserName': "Mohammad223", 'Password': "Basiri@12", 'status': "0", "state": "false" };
$.ajax({
type: "POST",
cache: false,
data: (Tour),
url: "http://localhost:53206/api/Tours",
dataType: 'json',
success: function (d) {
data = JSON.parse(d);
alert("Done");
},
error: function (result) {
}
});
});
当我使用Microsoft Edge运行Ajax方法时,此功能有效,但当我使用谷歌浏览器或Firefox时,该功能无法正常工作,警报将不会显示 提前谢谢