jquery1.8,async:false和jqXHR($.Deferred)不推荐使用
在脚本加载过程中调用ajax错误函数时,我遇到了一些问题。但是我可以通过添加jquery1.8,async:false和jqXHR($.Deferred)不推荐使用,jquery,Jquery,在脚本加载过程中调用ajax错误函数时,我遇到了一些问题。但是我可以通过添加async:false来修复它 例如: 在阅读文档时,它会说: 默认情况下,所有请求都是异步发送的(即设置为 默认情况下为true)。如果需要同步请求,请将此选项设置为 错。跨域请求和数据类型:“jsonp”请求不会 支持同步操作。请注意,同步请求可能会 暂时锁定浏览器,禁用请求时的任何操作 它是活动的。从jQuery1.8开始,在jqXHR中使用async:false ($.Deferred)已弃用;您必须使用完整/成
async:false
来修复它
例如:
在阅读文档时,它会说:
默认情况下,所有请求都是异步发送的(即设置为
默认情况下为true)。如果需要同步请求,请将此选项设置为
错。跨域请求和数据类型:“jsonp”请求不会
支持同步操作。请注意,同步请求可能会
暂时锁定浏览器,禁用请求时的任何操作
它是活动的。从jQuery1.8开始,在jqXHR中使用async:false
($.Deferred)已弃用;您必须使用完整/成功/错误
回调
Q)关于jqXHR($.Deferred),最后一部分是什么意思?这会影响我的脚本吗?它不会影响你的脚本 这意味着,在执行同步AJAX请求时,不应该使用由
$.AJAX()
返回的对象公开的API(类似于或例如),而应该依赖完整的和错误处理程序
换句话说,您的代码已经使用了正确的模式。如果它使用以下延迟操作,则必须对其进行修改:
// Do not write this code.
$.ajax({
type: 'POST',
url: REQUEST_URL,
async: false, // <-- Synchronous request.
data: {
'id': id
},
dataType: 'json'
}).done(function(output) { // <-- Use of deferred method.
// success
}).fail(function() { // <-- There also.
alert('Error, please refresh the page');
});
//不要编写此代码。
$.ajax({
键入:“POST”,
url:REQUEST_url,
async:false,//谢谢,只是想确保我的代码在将来的jquery中不会中断
// Do not write this code.
$.ajax({
type: 'POST',
url: REQUEST_URL,
async: false, // <-- Synchronous request.
data: {
'id': id
},
dataType: 'json'
}).done(function(output) { // <-- Use of deferred method.
// success
}).fail(function() { // <-- There also.
alert('Error, please refresh the page');
});