Javascript XMLHttpRequest的异步调用正在阻止Jquery ajax调用
我想创建一个异步模型,用户可以使用XMLHttpRequest对象上传文件,同时,如果用户导航到包含jQueryAjax调用的其他功能,那么用户就会被阻止 我不想在上传文件时被阻止 请参考以下代码Javascript XMLHttpRequest的异步调用正在阻止Jquery ajax调用,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,我想创建一个异步模型,用户可以使用XMLHttpRequest对象上传文件,同时,如果用户导航到包含jQueryAjax调用的其他功能,那么用户就会被阻止 我不想在上传文件时被阻止 请参考以下代码 使用XMLHttpRequest上载文件 var formdata = new FormData(); formdata.append("keywords", this.element.find('#keywords1').val());
var formdata = new FormData();
formdata.append("keywords", this.element.find('#keywords1').val());
var xhr = new XMLHttpRequest();
// controller call
xhr.open('POST', '../../Controller/function', true);
xhr.onreadystatechange = function (event) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
}
}
}
}
xhr.upload.addEventListener("progress", function (evt) {
widget._trigger("onProgressStatus", evt, obj);
}, false);
xhr.send(formdata);
$.ajax({
type: "POST",
url: Controller call,
headers: headers,
async: true,
data: (objConfig.data != undefined) ? objConfig.data : {},
cache: true,
contentType:'application/x-www-form-urlencoded',
timeout: 30000,
success: function (data) {
}
},
error: function (data, textStatus, jqXHR) {
}
});
Anish Jain您到底需要什么帮助?您好,在异步使用XMLHttpRequest上传调用文件后,如果用户尝试单击包含ajax调用(jquery)的其他功能,那么jquery ajax需要等待使用XMLHttpRequest上传文件完成。我希望jqueryajax不会依赖于XMLHttpRequest文件上传完成。请帮助我:)简言之,jQueryAjax调用应该是异步的,答案是在这种体系结构中无法做到这一点。Javascript没有设计多线程功能。这就是为什么在AngularJS中,他们有一个叫做承诺的概念。如果你真的想实现所谓的异步,你需要有iframe让上传者处理上传文件。只是不要使用AJAX上传文件。