我开始更多地使用 jQuery Deferred 对象,我遇到了这个问题:
我有一个中央 AJAX 函数,它执行数据的预验证、ajax 设置和其他一些发送到服务器并返回 xyz 作为数据的事情。如何在 $.when(ajaxfn).then(dosomethingwithresult()) 的“then”部分访问“xyz”;我知道 ajaxfn 返回一个延迟对象,但是有没有办法将 xhr 的 responseText 向前传递?
我基本上是这样做的......
function ajaxfn(data) {
prevalidate(data);
return $.ajax(settings);
}
$.when(ajaxfn).then(function() {
// put 'xyz' on the page somewhere.
});
目前我只是将 $.data 指针传递给 ajaxfn,然后在 ajax 请求成功时,我有 $('body',pos,result) 然后从内部访问它然后 $ ('body).data(pos) == xyz。我想知道是否有更好的方法来做我所描述的事情?