jQuery$.post延迟

jQuery$.post延迟,jquery,Jquery,如何使用jQuery的$.post?我试过: var myFunc = function(data, textStatus, jqXHR) { console.log(data); }; var post = $.post("/url/", someData); $.when(post).done(myFunc); 照常 $.post("/url/", someData, function(data) { myFunc(data) }); 工作正常(更改myFunc签名后) $。当…

如何使用jQuery的
$.post
?我试过:

var myFunc = function(data, textStatus, jqXHR) {
    console.log(data);
};
var post = $.post("/url/", someData);
$.when(post).done(myFunc);
照常

$.post("/url/", someData, function(data) { myFunc(data) });
工作正常(更改
myFunc
签名后)


$。当…
不起作用,并且没有错误时,会显示失败。
.done()
函数传递到
myFunc
中的确切内容是什么?

jQuery ajax函数返回一个延迟对象(它实现了Promise接口)。因此不需要
$.when()

对于
myFunc
,也不需要使用命名函数表达式,正常的函数声明就可以了

function func1(data, textStatus, jqXHR) {
    console.log('success', data);
}

function func2(jqXHR, textStatus) {
    console.log('done', textStatus);
}

$.post('/url/', someData).success(func1).done(func2);
演示:


.done()
函数传递到
myFunc
的确切内容是什么

这记录在上面的jqXHR链接中,也记录在

成功回调函数传递返回的数据,返回的数据将是XML根元素或文本字符串,具体取决于响应的MIME类型。它还传递响应的文本状态

从jQuery1.5开始,成功回调函数还被传递给一个“jqXHR”对象(在jQuery1.4中,它被传递给XMLHttpRequest对象)

没有必要这么做,但也不应该有伤害。