【发布时间】:2015-11-12 18:15:16
【问题描述】:
我已经声明了success 和error 回调,但在状态码200 的情况下,它也只调用错误回调。
我一直在对registry.php 中的其他一些php 文件进行 curl 调用。
这是我尝试过的:
$.ajax({
type: "POST"
,data: {
action: "blah"
,mobileNo: that.mobNo
,token: that.key
}
,url: "http://90.8.41.232/localhost/registry.php"
,cache: false
,dataType: "json"
,success: function (response) {
console.log("success");
}
,error: function () {
console.log("error");
}
});
我在文档中读到我们不必显式调用成功回调,希望它是正确的。
知道如何在状态码为 200 时调用成功回调。
回应 希望这会有所帮助,这是我从 chrome 控制台复制的,不是由 console.log() 打印的。
bort: (statusText)
always: ()
complete: ()
done: ()
error: ()
fail: ()
getAllResponseHeaders: ()
getResponseHeader: (key)
overrideMimeType: (type)
pipe: ()
progress: ()
promise: (obj)
readyState: 4
responseText: "{"success":"Mobile No 9535746622 is approved"} {"report":true}"
setRequestHeader: (name,value)
state: ()
status: 200
statusCode: (map)
statusText: "OK"
success: ()
then: ()
【问题讨论】:
-
您的代码看起来正确,来自服务器的答案是有效的 json 吗?
-
你确定
http://90.8.41.232/localhost/registry.php不是跨域数据访问吗?如果是,那么您可能需要通过提供特定标头在 registry.php 中启用 cors,并且您还需要检查jsonp以进行跨域数据访问。 -
错误函数接受三个参数。看看他们,他们可能会告诉你哪里出了问题。 JavaScript 错误控制台也可能会显示错误。您的开发者工具的 Net 选项卡会让您确认响应中是否有 200 OK 状态码,您检查了吗?
-
是的,我已经检查了所有这些东西@Quentin
-
@PJ1405 — 错误函数的参数说明了什么?鉴于您的编辑,我希望它会告诉您 JSON 解析错误。
标签: javascript php jquery ajax curl