【发布时间】:2013-06-04 17:56:20
【问题描述】:
我在使用它运行的浏览器访问服务 url 并在浏览器上显示 json 结果时遇到问题。
/*-secure-{"statusCode":200,"errors":
],"isSuccessful":true,"statusReason":"OK","Envelope":
{"Body":{"GetStoresByZipcodeResponseElement":
{"ns1":"http:\/\/abc.com\/intg\/ws\/\/provider","status":"statusCode":"000","statusDescription":"Success"}}*/"
但是当我使用 jquery 访问该网址时:
$.ajax({
url: url,
cache: true,
dataType: 'script',
type: 'GET',
async: false, // must be set to false
success: function (data, success) {
console.log(" success "+ JSON.stringify(success));
console.log(" data " +JSON.stringify(data));
},
error :function( jqxhr, textStatus, error ) {
var err = textStatus + ', ' + error;
console.log( "Request Failed: " + err);
},
complete: function (jqxhr, textStatus ){
console.log( "complete: " + JSON.stringify(jqxhr)+" "+ textStatus );
}
});
它向我展示了 firebug 中的响应,但即使它涉及 ajax 成功功能,并且对于数据它说未定义。
用“json”更改“脚本”后返回:
Request Failed: error,
complete: {"readyState":0,"responseText":"","responseJSON":null,"status":0,"statusText":"error"} error
Firebug 中的 JSON 响应和响应选项卡视图
任何帮助将不胜感激。
【问题讨论】:
-
尝试使用
dataType"json" 而不是"script" 并使用complete和/或error回调来调试问题。 -
@Stefan 我在帖子中编辑了我的代码。添加完成并出错后,它在控制台上返回此输出,并带有'script' dataType "success "success" data undefined complete: {"readyState":4,"status":200,"statusText":"success"} success"跨度>