话不多说 直接上代码
将 async:false,注释(适用于jQuery1.5以后)
在success下用 $.Deferred().resolve(e); (同样是同步加载的方式)
$.ajax({
url:"http://192.168.1.24:8085/orderSaleSList",
type:"get",
// async:false,
timeout : 1000, //超时时间设置,单位毫秒
success:function(e){
$.Deferred().resolve(e);
var data = JSON.parse(e);//JSON转JS数组
$("#project_pc").empty();
$("#project_pc").append(
'<option value="">请选择项目</option>'
)
//产品名回显拼接
for(var i = 0;i<data.length;i++){
// console.log(data[i].projectName)
$("#project_pc").append(
'<option value="'+data[i].id+'">'+data[i].projectName+'</option>'
)
}
if(projectId!=''){
// console.log(1+",projectId="+projectId)
$("#project_pc").val(projectId)
}
$('#project_pc').selectpicker('refresh');
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if(status=='timeout'){//超时,status还有success,error等值的情况
// ajaxTimeoutTest.abort();
spop({
template:'请求超时!',
style: 'error',
autoclose: 3000,
});
}
}
})