2010-03-23 59 views
2

我加載飼料項目到使用這個jQuery阿賈克斯()調用,我基本上從http://www.makemineatriple.com/2007/10/bbcnewsticker/IE8中jQuery.ajax()出現的問題?

var timestamp = true; //set whether timestamp is displayed in 
      $.ajax({ 
      type: "GET", 
      url: "sample-feed.xml", 
      dataType: "xml", 
      success: function(xml) {     
       $(xml).find('item').each(function(){ 
      var title = $(this).find('title').text(); 
      var link = $(this).find('link').text(); 
      if(title.length >=57){    
       title = title.substring(0,54) + "..."; 
      } 
      var addItem = '<li class="tickerTitle"><a href="'+link+'">'+title+'</a>'; 
      if (Boolean(timestamp)== true){ 
       var time = new Date(Date.parse($(this).find('pubDate').text())); 
       addItem +='<span class="timestamp">' + makestamp(time) +'</span></li>'; 
      } 

      $('ul#news').append(addItem); 
      }); 

它可以在Chrome 4和Firefox 3.6解除了UL,但是我在IE8加載它,以某種方式ajax調用失敗。我試圖使用IE8的開發工具來查看它究竟發生了什麼,但我還沒有成功。

所以兩個問題

  1. 這有什麼錯公然與我在這裏Ajax調用可能被阻止我看到它在IE它在FF /鉻?
  2. 有什麼特別的考慮,我必須做出對的Internet Explorer系列瀏覽器與問候到這個特殊的jQuery的方法?

我已經做了這方面的一些google搜索,但沒有明顯快到了。其他

一注:我目前使用jQuery 1.3.2由於在同一網站上的一些傳統腳本。我曾嘗試加載1.4.2,它在IE8上的結果相同。

+0

烏姆並不成功函數被調用?如果沒有附加的錯誤處理過,並檢查錯誤是什麼 – jitter 2010-03-23 09:06:19

回答

1

您是否在本地文件系統中執行測試?那麼你很可能會得到「訪問被拒絕」,因爲每個文件都被視爲不同的來源,並且IE使用「同源策略」。

如果它已經在服務器上,我建議你使用Fiddler Tool(http://fiddlertool.com)查看你的計算機和服務器之間的HTTP流量,看看是否實際發出ajax調用。

+0

我確實在做一個本地文件系統我的測試。我不知道IE瀏覽器將不同的文件視爲來自不同的來源。 我會在哪裏看到「拒絕訪問」錯誤?在開發工具中,我似乎沒有在js控制檯中發現任何錯誤。但是,我沒有向.ajax()調用添加錯誤條件。我將在下一次機會中這樣做。 – RyanV 2010-03-23 13:13:48

+0

我有時看到它顯示爲一個通用的JavaScript錯誤,僅在狀態欄的左側用Internet Explorer指示。 – naivists 2010-03-23 19:33:51

+0

它一定是拒絕訪問的東西。我將它上傳到一個實時服務器,現在它在IE8中運行。 – RyanV 2010-03-24 23:08:05

0

我知道這是舊的,但除此之外,訪問被拒絕的問題,有一對夫婦失蹤花括號和括號在上面的代碼示例:

 } //ends success function 
    }); // ends ajax object and method