这是我的示例代码:
$("#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
答案 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也会为您执行此操作。