2012-01-30 26 views
1

我有一個JSONP URL,這是拉數據,只是切換到本地JSON文件,現在我收到錯誤。我不明白爲什麼它不能使用本地JSON文件?AJAX GET與本地JSON文件無法使用?

<script type="text/javascript"> 
    $.ajax({ 
     type : 'GET', 
     dataType : 'json', 
     url: '/json/topics.json', 
     success : function(data) { 
      console.log(data); 
      var topics = []; 
      $.each(data.results, function(index, obj){ 
       topics.push({ 
        username: obj.TopicName, 
        mentions: obj.LastHourCount, 
        totalcount: obj.TotalCount, 
        daycount: obj.Last24HoursCount 
       }); 
      }); 
      $('#leader').tmpl(topics).appendTo('#top3'); 
     } 
    }); 
</script> 

在控制檯中,它是說AJAX是由於某種原因的匿名函數? 有什麼建議嗎?

+0

怎麼樣'網址:「JSON /主題.json'' – 2012-01-30 15:33:30

+0

如果我使用那個URL,我得到這個錯誤:XMLHttpRequest無法加載 – Xtian 2012-01-30 15:34:22

+0

你有正確加載jquery核心文件? – 2012-01-30 15:43:38

回答

1

$.ajax是異步的,它看起來像你正在試圖改變頁面加載的DOM,加

async: false, 

$.ajax參數。請注意,它可能會減慢頁面加載速度。

例子:

$.ajax({ 
    type : 'GET', 
    dataType : 'json', 
    async: false, 
    // rest of your code 

看到這個職位,如果你使用的是本地文件,而不是通過網絡服務器,並獲得一個Origin null is not allowed by Access-Control-Allow-Origin錯誤:

Error: "Origin null is not allowed by Access-Control-Allow-Origin" when loading an XML file with JQuery's ajax method

+0

添加後,我得到這個錯誤:XMLHttpRequest無法加載文件:///json/topics.json?_ = 1327938971630。 Access-Control-Allow-Origin不允許Origin null。 – Xtian 2012-01-30 15:50:02

+0

@ Xtian檢查您的'topics.json'文件的路徑。似乎現在存在這個問題。 – 2012-01-30 15:51:43

+0

@ Xtian這篇文章可能有幫助:http://stackoverflow.com/questions/5396527/error-origin-null-is-not-allowed-by-access-control-allow-origin-when-loading – 2012-01-30 15:56:56