0

本来页面加载时就一条jsonp的请求接口,很稳定,每次加载页面或刷新都可以拿到数据。
后来我在底下又加了一个微信参数请求接口,加载页面或刷新,两条请求有时都可以拿到数据,有时两条都报错(频率是1:1),删了他之后,第一条又没有任何问题。如果我删了第一条ajax,微信参数请求接口每次请求也没有任何问题。
难道是两条接口会相互影响吗?

8个回答

2

async属性针对的是ajax而不是jsnop,把这两个属性都去掉。然后属性jsopCallback在两个请求中不要设置一样。

1

可以回调一个加载完再加载另一个

0

应该不会 我最近做的一个电商项目 一开始就请求好几个数据

0

正常情况下,两个ajax相互没有数据引用是没有问题的。报错的话最好把错误信息贴出来,大家才好帮你分析。

0

应该可以用$.when()写成:

$.when(
    $.getJSON(urlOne + '?callback=?'),
    $.getJSON(urlTwo + '?callback=?', {"url": location.href}
    ).done(function(jsonOne, jsonTwo){
        //jsonOne.blabla..
        //jsonTwo.blabla..
    });
0

这个问题,我也想知道答案,能贴出源码和错误么?还有一个很疑问的地方,题主为什么两次ajax请求,一个async:false,一个async:true?

0

不要在success中写二次调用,要在ajax请求结束后写。例:

$.ajax({
    url:'/api/1'
    type:'get',
    success(res){
        if(res.code === 200){
            ....
        }
    }
}).done(()=>{
    $.ajax({
        url:'/api/2'
        type:'get',
        success(res){
        if(res.code === 200){
            ....
         }
    }
    })
})
0

建议你深入了解一下jquery的异步请求机制

撰写答案