使用ajax,获取在success回调函数中return的值?

看标题,你想要做到这个步骤?很抱歉,这样是不行的。这个教训很深刻,看我娓娓道来。

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的回调函数中。结果是错误的。请注意。
经验分享 程序员 微信小程序 职场和发展