看标题,你想要做到这个步骤?很抱歉,这样是不行的。这个教训很深刻,看我娓娓道来。
1.我先给你展示能成功的写法,有时候没必要往下看。只是作为我一次错误的总结。
var editIndex = null;
$.ajax({
url:url,
method:'GET',
async:false,
success:function(obj){
if(obj.code==0){
form.val(form_fileter,obj.data);
editIndex = shortcut.definedLayEdit(contentId);
// layedit.setContent(editIndex,obj.data.content,false);
}else{
layer.msg(obj.msg);
}
},
error:function(a,b,c){
shortcut.errorReturn(a,b,c);
}
});
return editIndex;
这个东西放到了统一的方法里边。只能这样写。ajax默认为异步的,现在更改为同步。
2.描述错误:
- 错误:async,与sync。ajax的参数为async,默认为true是为异步操作。因为经常用异步,也没有出现什么问题,所有,我都没怎么记住这个参数。用了sync没有解决问题。请注意,我去查了一下根本就没有sync这个参数。
- 错误:return 返回的值。我们为什么要在ajax的请求之前创建一个null的属性,在success中赋值, 最后在ajax后进行return?具体的原因, 我也不清楚。我不创建对象在开头,本着能简化就简化的原则,我都放到了success的回调函数中。结果是错误的。请注意。