是否可以将原始XMLHttpRequest 或 XDomainRequest 转换为 jQuery Deferred 对象(或将其包装在 jQuery Deferred 对象中)?
当我说raw时,我的意思是对象是直接使用new XMLHttpRequest()
or创建new XDomainRequest()
的,而不是使用 jQuery 的便利函数($.ajax
,$.get
等)
我正在尝试这样做,因为在我的页面中,在加载 jQuery 之前手动创建了一个 XMLHttpRequest(或 XDomainRequest),然后我想将其转换为 Deferred 对象并在$.when
加载 jQuery 后在调用中使用:
// raw XMLHttpRequest created here, with onreadystatechange attached.
window.my_request = new XMLHttpRequest();
// ...
window.my_request.send();
// Load jQuery, using head.js or require.js
head.js(
'//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js',
'//mydomain/my-script.js'
);
// Inside my-script.js, I want to turn window.my_request into
// a jQuery Deferred object and use it in a $.when call.