在 jQuery ajax 函数中,成功时提供给回调函数的数据定义为
success: function (data) { ...
但这让 JSLint 不高兴(“不要在循环中创建函数”)。
如果我遵循如何修复 jslint 错误“不要在循环中创建函数。”中的建议?, Firebug 抱怨“数据未定义”,回调函数失败。
例子:
之前$(document).ready(function(){
function ajaxSuccess() {
return function (data) {
alert (data);
};
}
之内$(document).ready(function(){
$.ajax({
type: "POST",
url: "some-url-here",
data: ({ "foo" : "bar" }),
success: ajaxSuccess(data)
});
导致“数据未定义”错误。
但是,如果我将其更改为
$.ajax({
type: "POST",
url: "some-url-here",
data: ({ "foo" : "bar" }),
success: function (data) {
ajaxSuccess(data);
}
});
那么一切都是笨拙的——但现在我回到了 JSLint 的起点。
假设我想通过 JSLint 通过集合,我如何获得data
返回的url
并将其传递给相关函数?