我的API URL是正确的,HTTP(S)是正确的,但Console.log()出现空白?为什么呢?

时间:2018-01-07 01:44:41

标签: javascript ajax api jsonp access-control

我无法使用任何API网址!我的所有JavaScript代码都是正确的,所以我不知道问题是什么。

我的CodePen控制台和Google Chrome开发者控制台是空白的! 在此处查看截图:https://s25.postimg.org/k5ds4p1xb/Console_Test.jpg (Screenshot of consoles)

这是我的CodePen: https://codepen.io/IDCoder/full/KZqNdr/

这是我的JavaScript代码:

$(document).ready(function(){

  var quote;

  function getNewQuote() {
    $.ajax({
      url: 'https://api.forismatic.com/api/1.0/?method=getQuote&format=jsonp&lang=en&jsonp=?',
      jsonp: 'jsonp',
      dataType: 'jsonp',
      data: {
        method: 'getQuote',
        lang: 'en',
        format: 'jsonp'
      },
      success: function(response) {
        //quote = response.quoteText;
        console.log(response.quoteText);


      }
    });
  }
  //getNewQuote();
});

 //getNewQuote();

 // $('.get-quote').on('click', function(e) {
  //  e.preventDefault();
   // getNewQuote();
  //});

  //$('#quote').text(response.quoteText);
        //if (response.quoteAuthor) {
          //$('#author').text('said by ' + response.quoteAuthor);
        //} else {
         // $('#author').text('- unknown');
        //}

评论者建议我使用ajax错误调用,然后我实施了该操作并让Google Chrome开发人员控制台记录此“无法加载https://codepen.io/boomerang/iFrameKey-a33d8144-0d32-5d95-7476-4d00493149e7/wrongfile.txt:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“https://s.codepen.io”访问。响应的HTTP状态代码为404.“ ....我很困惑!

1 个答案:

答案 0 :(得分:1)

将协议更改为codepen上的https并取消注释getNewQuote();