Ajax只与某些网址一起使用

时间:2017-01-31 21:58:38

标签: javascript php jquery json ajax

我在JavaScript中有以下代码 - #test是html中的一个简单的h3标签。我测试了这可以通过" test1"来改变。我的问题是为什么ajax只适用于某些URL。在下面的代码片段中,永远不会取得成功:换句话说,#test不会成为" test2"。但是,如果我用

替换URL

' http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1'

成功达成。两者都链接到JSON,它们看起来和我一样......那么为什么只有上面显示的URL才能成功?

类似的问题 - jQuery $.ajax not working for a certain URL - 这是由于相同的原始政策。这也适用于我的情况吗?有没有办法解决这个问题?

$(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 个答案:

答案 0 :(得分:0)

找到了一种方法,可以使用jsonp作为数据类型,在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
    });
  });
})