向控制器发送 POST 请求操作在 IE 中有效,在 Chrome 中不起作用



操作代码为:

//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/

相关内容

最新更新