В jjuery-функции 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
, и передать его рассматриваемой функции?