2017-01-31 5 views
0

JavaScriptで次のコードを使用しています.- #testはhtmlの単純なh3タグです。私はこれが "test1"で変更できることをテストします。私の質問は、なぜajaxが特定のURLでしか動作しないのかということです。次のスニペットで成功は達成されません。つまり、#testは "test2"になりません。私はAjaxは特定のURLでしか動作しません

'http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1' でURLを置き換える場合は、

成功に到達します。どちらもJSONにリンクしていて、私には同じように見えます...なぜ、上のURLで成功したのですか?

同様の質問 - jQuery $.ajax not working for a certain URL - これは同じ発信元ポリシーによるものです。これは私の場合にも当てはまりますか?これを回避する方法はありますか?

ここで見つかったデータ型としてJSONP使用して回避する方法を発見
$(document).ready(function(){ 
    $("#button").on("click", function(e) { 
    e.preventDefault(); 
    $("#test").html("test1"); 

    $.ajax({ 
     url: 'https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Albert%20Einstein&format=json', 
     success: function(data) { 
     $('#test').html("test2"); 

     }, 
     cache: false 
    }); 
    }); 
}) 
+1

それはおそらく同じ問題です。コンソールログには何が表示されますか? – Barmar

+0

また、デベロッパーコンソールの[ネットワーク]タブを確認してください。要求が正常に実行された場合は、応答を提供する必要があります。 –

+0

私はCodePenを使用し、何も言わない –

答えて

0

https://www.mediawiki.org/wiki/Manual:Ajax#Limitations

私の更新されたコード:

$(document).ready(function(){ 
    $("#button").on("click", function(e) { 
    e.preventDefault(); 
    $("#test").html($("input").val()); 
    $.ajax({ 
     url: "https://en.wikipedia.org/w/api.php?action=query&titles=Boston%20Tea%20Party&prop=revisions&rvprop=content&format=json", 
     data: { 
     format: 'json' 
     }, 
     dataType: 'jsonp', 

     success: function(data) { 
     $('#test').html(Object.keys(data.query.pages)[0]); 
     }, 
     cache: false 
    }); 
    }); 
}) 
関連する問題