4

データをプルしていてローカルJSONファイルに切り替えたJSONPURLがあり、エラーが発生しました。ローカル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は何らかの理由で無名関数であると言っていますか?助言がありますか?

4

1 に答える 1

3

$.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-OriginWeb サーバーではなくローカル ファイルを使用していて、エラーが発生した場合は、次の投稿を参照してください。

エラー: JQuery の ajax メソッドを使用して XML ファイルをロードすると、"Origin null は Access-Control-Allow-Origin では許可されません"

于 2012-01-30T15:47:09.603 に答える