2016-07-08 144 views
2

我正在使用柔性滑块在页面和页面上也做一个阿贾克斯呼叫其他工作。我的问题是当用户加载页面,AJAX调用弹出滑块,直到ajax请求尚未完成。完成ajax请求后,Flex滑块已成功加载。如果我删除ajax脚本,然后flex滑块加载非常快。Ajax呼叫阻止其他javascript代码

Flex的滑块和Ajax请求这两者之间的代码编写...

$(document).ready(function(){ 
    $('#carousel').flexslider({ 
     animation: "slide", 
     controlNav: true, 
     animationLoop: true, 
     slideshow: false, 
     itemWidth: 100, 
     itemMargin: 15,   
     asNavFor: '#slider'   
    }); 

    // Rest code of slider will come here 

    // Ajax code start from here  
    $.ajax({ 
      type: "GET", 
      async:false, 
      url: prefixUrl, 
      success: function(results) { 
        $(results).insertBefore('.event_container'); 
      } 
     }); 

}); 

请提出意见,使AJAX调用不应该阻止柔性滑块。

谢谢

+1

如果你不希望它被阻塞,不要设置async为false。 – kinakuta

+0

@ kinakuta#更改异步后也不能正常工作:true – anil

+0

控制台错误?\ – madalinivascu

回答

3

异步false将等到您的操作完成。

试试这个:

$.ajax({ 
     type: "GET", 
     async:true, 
     url: prefixUrl, 
     success: function(results) { 
       $(results).insertBefore('.event_container'); 
     } 
    }); 

//更新2:

实际上它正在发生,因为你已经在准备功能,所以,直到你的AJAX运行是没有得到完整的页面ready事件添加了Ajax。尝试从准备好的文档中删除它。

+0

对不起,我已经尝试过了。它不工作。 – anil

+0

我已添加新评论,请尝试..hop这将解决您的问题 –

+0

尝试过但相同的情况 – anil

0

我们使用ajax没有获得回传操作,并且在您提到的代码中,像async:false会导致同步ajax调用。同步ajax调用使您可以停止/阻止,直到您获得前一个请求的响应。所以试试这个:

$.ajax({ 
    type: "GET", 
    url: yourURL, 
    success: function(results) { 
      $(results).insertBefore('.event_container'); 
    }, 
    async:true 
}); 
+0

更改异步:真正快速工作,但又一次弹出Ajax请求完成后的滑块加载。 是否有其他选项,以便flex滑块和ajax调用不依赖于对方? – anil