【问题标题】:jQuery AJAX never runs success functionjQuery AJAX 从不运行成功函数
【发布时间】:2019-04-13 16:40:43
【问题描述】:

我的网站上有一个注册表单,我使用 jQuery 的 AJAX 函数将数据发送到我的 ASP.NET API。

我的 AJAX 看起来像这样:

$.ajax({
    type: "POST",
    url: '[urlHere]',
    data: {
        'Name': userName,
        'LastName': userLastName,
        'Email': userEmail,
        'Password': userPass
    },
    dataType: 'application/json',
    success: function (response) {
        console.log('Success');
    },
    error: function (err) {
        console.log('Error');
    }
});

(数据对象中的值是我从网站上的输入中获得的值) 我发送到 API 的数据被插入到 SQL 数据库表中。运行此 AJAX 函数成功地将我的数据插入到我的数据库中,但它始终运行 error 函数。我已经在 Postman 等应用程序中测试过 API,API 运行良好,但我的 AJAX 始终运行 error。当我console.log 返回的错误时,它会返回OK 的状态码,如果在 API 中一切顺利,我将其设置为。

【问题讨论】:

  • 尝试console.logging err 看看错误是什么。
  • @CertainPerformance,我编辑了我的问题,再次阅读最后一部分。

标签: javascript jquery html asp.net ajax


【解决方案1】:

当 jQuery 无法将响应解析为所需的数据类型时,它倾向于调用错误函数来获得成功的响应。首先,我不相信application/jsondataType 属性的正确值。首先将其更改为 json。如果这不起作用,请完全删除该行,记录响应并验证您的响应是否实际上是正确的 JSON。

参考:jQuery Ajax Data Types

【讨论】:

  • @Szab,你的帖子回答了我关于jQuery Ajax 的老问题,非常感谢。
【解决方案2】:

在你的 ajax 中设置这些代码:

 contentType: 'application/json; charset=utf-8',
 processData: false,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多