cai*_*ci2 8 javascript ajax jquery android cordova
我正在尝试获取一个JSON,在这里托管在本地服务器上,但由于某种原因它不起作用.如果我在浏览器上点击我的网址,它会正确返回Json,如果我使用其他网址,我会获得一些数据.
我原来的getJson方法:
的getJSON:
$.getJSON(url,
function(data) {
console.log('got something');
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
现在我想看看究竟出了什么问题.我把它重写为Ajax请求,在我的错误回调jqxhr给了我很多我不理解的东西.我能获得有关此错误的更多详细信息吗?
TextStatus 价值是 "error"
errorThrown 是 null
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
console.log('got something');
alert(data);
},
error: function(jqxhr,textStatus,errorThrown)
{
console.log(jqxhr);
console.log(textStatus);
console.log(errorThrown);
for (key in jqxhr)
alert(key + ":" + jqxhr[key])
for (key2 in textStatus)
alert(key + ":" + textStatus[key])
for (key3 in errorThrown)
alert(key + ":" + errorThrown[key])
//<--- All those logs/alerts, don't say anything helpful, how can I understand what error is going on? ---->
}});
Run Code Online (Sandbox Code Playgroud)
最后,我应该回来的json是
[{"message": "login failed"}]
Run Code Online (Sandbox Code Playgroud)
我不能使用firebug,chrome控制台或任何其他开发工具,因为这是一个使用Phonegap开发的移动应用程序!
小智 6
我将把我的评论放在答案表单中,它不是解决问题的方法,但它是解决jQuery Ajax各种返回问题的好方法.
在这种情况下,当您请求某种数据类型时,dataType: 'json'您正在请求特定类型的数据.如果未返回该特定dataType,则将传递给错误函数.
如果您的错误消息未提供可解释您的问题的信息,请尝试请求更友好的dataType.这样您就可以看到您的请求实际返回的内容.如果它的数据不是你请求的dataType,那么这就是你的问题,你可以从那里开始工作.
dataType喜欢html或text将非常开放,为您提供从请求的网址返回的确切数据,您可以从那里解决您的问题.
希望它有所帮助.
| 归档时间: |
|
| 查看次数: |
24478 次 |
| 最近记录: |