$ .ajax没有击中控制器

时间:2016-06-02 12:11:28

标签: javascript jquery ajax asp.net-mvc

这是我的示例代码:

 $("#btnPost").click(function (e) {
 e.preventDefault();
 $.ajax(
       {
        url: "/api/Flight/FlightList",
        type: "Post",
        dataType: "json",
        data: $('form').serialize() + '&' + $.param({ 'TokenId': $("#pageInitCounter").val() }, true),
       //  data:"",
         success: function (data) {
           // implementation here
          ........................

因为,你可以看到我是否点击按钮然后它应该命中控制器并发布表单数据,但它不工作。在旧的chrome版本中工作正常。

但昨天我更新了我的Chrome浏览器。之后它不起作用。 如果我试试这个:

 data:"",

然后它击中控制器但是空数据。应该怎么做。请有人告诉我。

我正在使用jquery版本1.9.1

1 个答案:

答案 0 :(得分:0)

在ajax操作中添加

async:true,

数据类型:“json”,

这应该可以解决你的问题。 Chrome有问题处理异步调用。

 $("#btnPost").click(function (e) {
 e.preventDefault();
 $.ajax(
       {
        url: "/api/Flight/FlightList",
        type: "Post",
        dataType: "json",
        async: true,
        data: $('form').serialize() + '&' + $.param({ 'TokenId': $("#pageInitCounter").val() }, true),
       //  data:"",
         success: function (data) {
           // implementation here
          ........................

注意:async参数默认为true,因此您无需将其与请求一起传递,因此删除async:false也会为您执行此操作。