2010-11-16 55 views
0

我正在向不同的服務器使用jQuery進行一些數據的異步請求。它在IE中可以正常工作,但在FireFox和Chrome中無法使用,當它到達向其他服務器發出請求的代碼時,它將凍結,並顯示一個空白頁面。如果我刪除了那段代碼,那麼Ajax工作正常。另外,當我在document.ready處放置一個斷點時,使用IE進行調試時會觸發斷點,但在使用FireFox進行調試時不會觸及斷點。跨域調用在FireFox和Chrome中不起作用

以下是我使用

jQuery(document).ready(function ($) { 

    $('.tabs a, .tabs span').livequery('click', function() { 

     var currentTab = $(this).parents('li:first'); 

     if (!currentTab.is('.active')) { 
      var currentContent = $('.tab_container .' + currentTab.attr('class')); 

      $('.tabs li').removeClass("active"); 
      currentTab.addClass("active"); 
      var url = $(this).attr("href"); 

      var newContent = ""; 
      if (currentContent.length == 0) { 
       $.get(url, {}, function (result) { 
        $('#tabs.tab_container div:visible').fadeOut(100, function() { 
         $('#tabs.tab_container') 
         .html(result) 
         .fadeIn(100); 
        }); 

       }, 'html'); 
      } 
      else { 
       $('#tabs.tab_container div:visible').fadeOut(100, function() { 
        currentContent.fadeIn(100); 
       }); 
      } 
     } 
     return false; 
    }); 
}); 

任何幫助將高度讚賞JQuery的。

回答

2

根據該文檔爲jQuery.Get

由於瀏覽器的安全限制,大多數「Ajax」的請求都受到了same origin policy;該請求無法成功從不同的域,子域或協議中檢索數據。

如果您是在JSON響應之後,那麼您應該考慮使用已經卷入GetJSON method的JSONP選項。

有幾個人在那裏誰卻提供了一些變通辦法獲取限制:

+0

與YQL這招是很酷。 – 2010-11-16 11:41:28

相關問題