帖子
帖子
用户
博客
课程
显示全部楼层
3
帖子
0
勋章
15
Y币

[BUG] ajax总是被优先执行,请问怎么解决?

[复制链接]
发表于 2016-10-9 11:22:54
不管是用api.ajax 还是JQ的$.ajax都会遇到这个问题,就是在一个模块的回调函数里如果有ajax的代码,会优先执行ajax,然后在执行回调里的其他代码


举个栗子
var upload = api.require('upload');
        upload.startUploadResult({
            server:"",
            data:""
        }, function(ret){
            alert("上传回调:" +JSON.stringify(ret));

                 api.ajax({
                    url: vm.data.api.submit_url,
                    method: 'post',
                    data: {
                        values: formData
                    }
                }, function(ret, err) {
                    if (ret) {
                        api.alert({ msg: JSON.stringify(ret) });
                    } else {
                        api.alert({ msg: JSON.stringify(err) });
                    }
                });
        })


这里会优先返回ajax的处理结果,然后才会显示alert("上传回调:" +JSON.stringify(ret)); 这段代码,很诡异,麻烦问下怎么解决。用其他模块也是这样。

0
帖子
0
勋章
1911
Y币
是先执行了alert然后再执行的ajax的,但是在iOS上,后执行的会先显示出来,最开始执行的会在最后显示出来。可以用log监听一下,是没有问题的。。
3
帖子
0
勋章
15
Y币
的确是有问题,因为实际在业务上,我是先给要传递的参数复制,在触发ajax,但是ajax传递的参数里并没有我的赋值,然后导致ajax提交失败
3
帖子
0
勋章
15
Y币
谢谢2楼的,是我代码的问题,不是ajax的问题。。。sorry
20
帖子
0
勋章
131
Y币
安静丶W 发表于 2016-10-9 13:17
谢谢2楼的,是我代码的问题,不是ajax的问题。。。sorry

我遇到了同样的问题,怎么解决呢
您需要登录后才可以回帖 登录

本版积分规则