操作代码为:
//tickets is null in chrome but has value in IE
public async Task<IActionResult> ChangeStatus(string tickets)
{
//Code goes here
}
阿贾克斯调用
var selectTickets = '"ticket1","ticket2"'
$.ajax
({
type: 'post',
url: "/SkyBusTickets/ChangeStatus/",
data: {'tickets': selectTickets},
success: unexpiredTicketsBulkStatusChangeSuccess,
failure: unexpiredTicketsBulkStatusChangeError
});
在 chrome 中,它在控制台中给出错误
jquery.js:9536 发布 http://localhost:54656/SkyBusTickets/ChangeStatus/ 500(内部服务器错误(
需要做些什么才能使其在两个浏览器中都工作?
编辑
如果我将操作方法更改为下面的操作方法,它也将在IE中停止工作
//tickets is null in both chrome & IE
public async Task<IActionResult> ChangeStatus([FromBody]string tickets)
{
//Code goes here
}
检查一下,它对我有用
//ajax side
$(document).ready(function () {
var selectTickets = '"ticket1","ticket2"'
$.ajax
({
type: 'post',
url: "api/Test/ChangeStatus",
dataType: 'json',
data: { "": selectTickets },
success: function () {
},
failure: function () {
}
});
});
在控制器部分
[HttpPost]
public string ChangeStatus([FromBody]string tickets)
{
return "sdfdf";
}
您可以参考此链接http://www.c-sharpcorner.com/UploadFile/dacca2/web-api-with-ajax-understand-formbody-and-formuri-attribute/