为什么AJAX POST请求失败?

时间:2017-03-10 09:56:12

标签: javascript jquery ajax

我有一个简单的带有表单的html页面。当我执行POST请求然后接收失败,但它没有从服务器响应。我做错了什么?

function createRequest(url, body) {
    var response;
    console.log(JSON.stringify(body)); // (1)
    $.ajax({
        url: "creation/" + url,
        type: "POST",
        async: false,
        contentType: 'application/json',
        data: JSON.stringify(body),
        success: function (data) {
            if (data.status == true) {
                response = data.response;
            } else {
                BootstrapDialog.show({
                    title: 'Error',
                    message: data.errorMessage
                });
            }
        }
    });
    return response;
}

身体(1)

{"name":"Test UI","bid":"2","budget":"20"}

当我通过POSTMAN执行此请求时,一切正常。

jQuery

在Chroome版本57.0.2987.98(64位)中出现错误,但在Edge中一切正常 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

由于您分享的信息不多;这里有一些提示,您可以根据我认为问题所在的假设来调试您的问题。

  1. 使用console.log(data)作为代码中的第一件事来调试代码,以确保您是否访问了正确的字段。
  2. data.status通常是状态代码1xx2xx3xx4xx200表示请求成功。我检查响应是否成功,如data.status == 200,但您使用了data.status == true,您应该记录data以确保您正确使用它,否则您将始终收到记录错误
  3. JSON.stringify(body)会将正文转换为字符串,而data调用的ajax字段会使用带参数的对象传递其请求。 JSON.stringify(body)真的是你打算做什么,还是只是body
  4. 如果你决定添加更多信息,我肯定会更新答案,并有额外的怀疑。