2012-01-30 15 views
1

私はJSONP URLを持っていました。データを取得していて、ローカルのJSONファイルに切り替えただけですが、今はエラーが発生しています。私はなぜそれがローカルのJSONファイルで動作していないのか分かりません。AJAXはローカル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

どのURL 'について:「JSON /トピックス.json' –

+0

このURLを使用すると、このエラーが表示されます。XMLHttpRequestを読み込めません。 – Xtian

+0

jqueryコアファイルが正しく読み込まれていますか? –

答えて

1

$.ajaxは非同期であり、あなたがあなたの$.ajaxパラメータに

async: false, 

を追加し、ページのロード時にDOMを変更しようとしているように見えます。ページの読み込みが遅くなる可能性があることに注意してください。

例:

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

あなたがいないWebサーバを通じて、ローカルファイルを使用して、そして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。 Origin-nullはAccess-Control-Allow-Originによって許可されていません。 – Xtian

+0

@Xtianは 'topics.json'ファイルへのパスをチェックします。今のところ問題があるようです。 –

+0

@Xtianこの投稿は役に立ちました:http://stackoverflow.com/questions/5396527/error-origin-null-is-not-allowed-by-access-control-allow-origin-when-loading –

関連する問題