function submit(LATENT_CUSTOMER_NUMBER)
{
var STRAIN_IDS = $("#STRAIN_IDS").val();
var drive = $("#drive").val();
var BRAND_ID = $("#BRAND_ID").val();
var RN = $("#RN").val();
var Expected = $("#Expected").val();
$.ajax({
url : httpurl + '/CRM_Areas/T_OPR_LATENT_CUSTOMER_INFO/AddBuyCar',
data : {
CUSER:$api.getStorage('USER_ID'),
INTENTION_ID:$api.getStorage("INTENTION_ID"),
LATENT_CUSTOMER_NUMBER:LATENT_CUSTOMER_NUMBER,
BRAND_ID:BRAND_ID,
STRAIN_ID:STRAIN_IDS,
DRIVE_ID:drive,
AMOUNT:RN,
PREDICT_BUY_CAR_DATA:Expected
},
type : "post",
success : function(text) {
//var data = jQuery.parseJSON(text);
s=text.Data.MODELS_ID;
//$api.setStorage('MODELS_ID',text.Data.MODELS_ID);
$("#MODELS_ID").val(text.Data.MODELS_ID);
alert(text.Msg);
}/*,
error : function(jqXHR, textStatus, errorThrown) {
ajaxErrfun(jqXHR, textStatus, errorThrown);
api.hideProgress();
}*/
});
//$api.setStorage('STRAIN_IDS')
}
function closeWin() {
var BRAND_ID_text=$("#BRAND_ID option:selected").text();
var STRAIN_IDS_text=$("#STRAIN_IDS option:selected").text();
var intention_text=$("#intention option:selected").text();
var Expected=$("#Expected").val();
var RN = $("#RN").val();
var STRAIN_IDS = $("#STRAIN_IDS").val();
var drive = $("#drive").val();
var BRAND_ID = $("#BRAND_ID").val();
var MODELS_ID = $("#MODELS_ID").val();
$.ajax({
url : httpurl + '/CRM_Areas/T_OPR_CUSTOMER_INFO/ToModifyCustomer',
data : {
show:1,
LATENT_CUSTOMER_ID:$api.getStorage("LATENT_CUSTOMER_ID")
},
type : "post",
success : function(text) {//alert(data.Data);
var data = jQuery.parseJSON(text);
submit(data.Data.DataTable0[0].LATENT_CUSTOMER_NUMBER);
}/*,
error : function(jqXHR, textStatus, errorThrown) {
ajaxErrfun(jqXHR, textStatus, errorThrown);
api.hideProgress();
}*/
});
var buycar="";
buycar+=STRAIN_IDS_text+","+BRAND_ID_text+","+RN+","+intention_text+","+Expected;//返回信息给ADD页面
api.sendEvent({
name: 'jt',
extra: {
buycar: buycar
}
});
/* api.closeWin({
}); */
}
closeWin()方法里执行ajax 的success里执行submit()
然而submit()方法没执行完毕closeWin()就往下走了 之后才执行submit()方法里的
有什么方法么
5 个解决方案
#1
把ajax1之后的代码写成回调函数,传参到submit()中,在submit中的ajax2的success里调用
#2
function submit(LATENT_CUSTOMER_NUMBER, callback)
{
var STRAIN_IDS = $("#STRAIN_IDS").val();
var drive = $("#drive").val();
var BRAND_ID = $("#BRAND_ID").val();
var RN = $("#RN").val();
var Expected = $("#Expected").val();
$.ajax({
url : httpurl + '/CRM_Areas/T_OPR_LATENT_CUSTOMER_INFO/AddBuyCar',
data : {
CUSER:$api.getStorage('USER_ID'),
INTENTION_ID:$api.getStorage("INTENTION_ID"),
LATENT_CUSTOMER_NUMBER:LATENT_CUSTOMER_NUMBER,
BRAND_ID:BRAND_ID,
STRAIN_ID:STRAIN_IDS,
DRIVE_ID:drive,
AMOUNT:RN,
PREDICT_BUY_CAR_DATA:Expected
},
type : "post",
success : function(text) {
//var data = jQuery.parseJSON(text);
s=text.Data.MODELS_ID;
//$api.setStorage('MODELS_ID',text.Data.MODELS_ID);
$("#MODELS_ID").val(text.Data.MODELS_ID);
alert(text.Msg);
callback();
}/*,
error : function(jqXHR, textStatus, errorThrown) {
ajaxErrfun(jqXHR, textStatus, errorThrown);
api.hideProgress();
}*/
});
//$api.setStorage('STRAIN_IDS')
}
function closeWin() {
var BRAND_ID_text=$("#BRAND_ID option:selected").text();
var STRAIN_IDS_text=$("#STRAIN_IDS option:selected").text();
var intention_text=$("#intention option:selected").text();
var Expected=$("#Expected").val();
var RN = $("#RN").val();
var STRAIN_IDS = $("#STRAIN_IDS").val();
var drive = $("#drive").val();
var BRAND_ID = $("#BRAND_ID").val();
var MODELS_ID = $("#MODELS_ID").val();
$.ajax({
url : httpurl + '/CRM_Areas/T_OPR_CUSTOMER_INFO/ToModifyCustomer',
data : {
show:1,
LATENT_CUSTOMER_ID:$api.getStorage("LATENT_CUSTOMER_ID")
},
type : "post",
success : function(text) {//alert(data.Data);
var data = jQuery.parseJSON(text);
submit(data.Data.DataTable0[0].LATENT_CUSTOMER_NUMBER, function(){
var buycar="";
buycar+=STRAIN_IDS_text+","+BRAND_ID_text+","+RN+","+intention_text+","+Expected;//返回信息给ADD页面
api.sendEvent({
name: 'jt',
extra: {
buycar: buycar
}
});
});
}/*,
error : function(jqXHR, textStatus, errorThrown) {
ajaxErrfun(jqXHR, textStatus, errorThrown);
api.hideProgress();
}*/
});
/* api.closeWin({
}); */
}
#3
ajax 设置同步执行
#4
ajax默认是异步调用,调用后就会继续往下执行不会在那等返回结果,所以你应该把ajax的异常请求方式禁掉,设置成同步的async: false
#5
稳的 我昨天没注意看 今天早解决也是用同步这个方法