完整的jQuery $ .ajax语法允许我这样做
var obj = {'a':1,'b':2};
$.ajax({url:url,dataType:'json',type:'POST',
data:{zip:'602'},beforeSend:function(xhr){$(xhr).data('obj',obj)}}).
done(function(data,state,xhr){console.log(data);console.log($(xhr).data('obj'))})
在Windows上的Google Chrome中,这非常有效 - 当AJAX返回时,我可以访问存储的对象但是,我不知道这是否可以在各种浏览器中同样有效。我主要关心的是Android原生,Chrome for Android,iOS Safari,Firefox,Safari和Windows上的IE9 +,Mac OS上的Safari。
我意识到我可以通过运行一些测试来建立这个问题的至少一部分答案,但是设置完成它们会消耗所有太宝贵的资源 - 时间。所以我希望有人在这里有答案。
我想这一切都归结为这一点 - XMLHTTPRequest总是在合理范围内,保证成为DOM的一等公民。