【发布时间】:2013-09-30 14:20:47
【问题描述】:
我正在处理一些现有的代码。我有以下代码:
$.ajax({
type: "get",
url: url ,
dataType: "jsonp",
cache: "false",
jsonpCallback: "onJSONPLoad",
success: function(json){
alert('hi!');
//perform operation
},
error: function() {
alert('Error occurs!');
}
});
现在当我传递有效的url 时,它工作正常。但是当我传递无效的url 时,它应该通过错误警报。但是脚本没有抛出任何错误警报。基本上我想验证url 参数还是失败了?请帮助我找出我的代码中的错误或建议我其他方法来实现。我检查了以下链接,但无法解决我的问题:
jQuery Ajax error handling, show custom exception messages
jQuery ajax error function,
Ajax Success and Error function failure
更新: 我添加了以下代码来记录 jquery 控制台日志。
@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.d("web chrome client", cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
发现以下错误:
XMLHttpRequest cannot load file:///android_asset/xxxx/new_source.json?callback=onJSONPLoad. Origin null is not allowed by Access-Control-Allow-Origin. -- From line 1 of null
添加如下代码,app运行成功。
if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
所以,基本上这是因为 url 无法被 jquery 访问。
感谢大家帮助我。
【问题讨论】:
-
从控制台获取并粘贴错误..
-
您的答案在这里:[First][1] And Here:[Second][2] [1]:stackoverflow.com/questions/377644/… [2]:stackoverflow.com/questions/3642348/jquery-ajax-error-callback
标签: jquery