我有一个jquery.ajax对象,我想在其中替换xhr。但是,执行以下代码会给我一个错误:
TypeError: Property 'xhr' of object #<Object> is not a function
相关代码是:
var req = jQuery.ajaxSettings.xhr();
req.upload.addEventListener('progress', calendar.check_progress, false);
$.ajax({
url: script_root + '_save_file/'+id+'/'+timestamp,
type: 'POST',
processData: false,
contentType: false,
data: fd,
xhr: req,
success: function(data){
do_something();
},
error: function(data){
console.log(data);
do_something_else();
}
});
答案 0 :(得分:1)
xhr
以其他方式使用。请参阅文档:http://api.jquery.com/jQuery.ajax/
xhr:功能
默认值:ActiveXObject可用时(IE),XMLHttpRequest 否则
用于创建XMLHttpRequest对象的回调。默认为 ActiveXObject在可用时(IE),否则为XMLHttpRequest。 重写以提供XMLHttpRequest或您自己的实现 对工厂的改进。
可能你正在寻找像
这样的东西xhr: function() {
var xhr = $.ajaxSettings.xhr();
xhr.upload.addEventListener('progress', calendar.check_progress, false);
return myXhr;
},