【发布时间】:2018-08-06 06:22:37
【问题描述】:
好的,所以我想做一个简单的“网络抓取”应用程序;
我有这个简单的代码:
$.ajax({ url: 'http://sentence.yourdictionary.com/example',
success: function(data) {
var elements = $(data) //<--error here
}
});
<h1>the html does not matter</h1>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src ='error.js'></script>
这行得通,我得到了元素,但是,我将运行它多达 100000 次,并且会弹出这个错误并使调试变得痛苦。
GET file:///images/side-rail-slot-4-chosen-min.png net::ERR_FILE_NOT_FOUND
错误出现在 $(data) 调用中。
我试过了:
$(data).error(function(e){/*do nothig*/})
$(data).on('error',function(e){/*do nothig*/})
我什至进入了 jquery 文件,尝试在某个地方插入一个 try-catch ....。但错误仍然存在。
【问题讨论】:
-
将错误处理程序添加到 ajax 调用..
-
如果需要,你也可以在 JS 中尝试 { } catch()。
-
@Andrew try catch 不适用于异步调用
-
很抱歉,我没有解释错误的来源。它不是来自 $.ajax,而是来自 $(data)。我不能给它添加一个 try catch 因为它是异步的
-
为什么不能将
try/catch放在成功回调中?try { var elements = $(data); } catch(e) { /* do nothing */}
标签: javascript jquery error-handling