我最初的任务如下:
在googling搜索和堆栈溢出之后,出现了以下解决方案:
$.ajax({
type: "POST",
url: "some url",
data: somedata,
error: somefunction
}).then(function (data) {
if (!ajaxSuccess(data, null, null)) {
return new $.Deferred().reject().promise();
}
return data;
});(函数ajaxSuccess确实执行上文第2段中提到的检查。)
我不喜欢这段代码的最后一行:
return data;IMHO,返回原来的ajax jqXHR对象要正确得多,因为代码的结果将被第三方库js-Grid.com使用,该库期望jqXHR/答应。
所以问题是:
提前谢谢。
发布于 2017-05-13 06:55:45
.then的回调函数实际上接收三个参数。所以,你可以:
$.ajax({
type: "POST",
url: "some url",
data: somedata,
error: somefunction
}).then(function (data, textStatus, jqXHR) {
if (!ajaxSuccess(data, null, null)) {
return new $.Deferred().reject().promise();
}
return jqXHR;
});https://stackoverflow.com/questions/43950083
复制相似问题