维基百科API的原始政策相同

时间:2018-05-07 16:52:35

标签: jquery ajax jsonp same-origin-policy wikipedia-api

我正在尝试使用Wikipedia API创建Wikipedia搜索页面。当我输入我创建的链接时,我成功地在浏览器上看到了json文件。但是当我尝试使用jQuery.ajax()方法获取json时,它失败了。我做了研究,发现同源政策导致了这个问题,因为维基百科链接有HTTP,但我正在发出https请求。我已经尝试过dataType:“jsonp”解决方案。不适合我。我应该怎么做才能使用我的维基百科json链接?我是一名初学者,而不是母语为英语的人。请在回复中考虑这一点。

这是我的代码项目:https://codepen.io/emred2700/details/vjeWRz/

以下是代码:

$("#sbmt").on("click", function(){
  var $searchWord = $(".s-bar").val();
  var url = encodeURI($searchWord);
  var wikiUrl = 'http://en.wikipedia.org/w/api.php?action=opensearch&search=' + url + '&format=json&callback=wikiCallback';
    
  $.ajax({
    url: wikiUrl,
    dataType: "jsonP",
    success: function(response){
      console.log(response[1]);
    }
  });
  
});

这是我的控制台上的错误:

  

jquery.min.js:2混合内容:页面位于   'https://codepen.io/emred2700/pen/vjeWRz?editors=1010'被加载了   HTTPS,但请求一个不安全的脚本   'http://en.wikipedia.org/w/api.php?action=opensearch&search=asda&format=json&callback=wikiCallback&callback=jQuery33108891831563559673_1525711553641&_=1525711553642'。   此请求已被阻止;内容必须通过HTTPS提供。

0 个答案:

没有答案