Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查json请求响应的内容?_Javascript_Jquery_Json - Fatal编程技术网

Javascript 检查json请求响应的内容?

Javascript 检查json请求响应的内容?,javascript,jquery,json,Javascript,Jquery,Json,我正试图根据FreeCodeCamp挑战构建一个随机引用生成器,但我想先编写一个测试来确认我实际上得到了我请求的json对象。我有一个简单的h1元素,id设置为'quote',下面的代码(jQuery加载在CodePen中) 在我看来,被访问的url看起来很像一个json对象,但我的函数根本不会更改#quote项。从url中删除&callback=,以请求json,而不是将$.getJSON()调用转换为jsonp请求。此外,返回的是数组,而不是普通对象;使用括号表示法访问对象 function

我正试图根据FreeCodeCamp挑战构建一个随机引用生成器,但我想先编写一个测试来确认我实际上得到了我请求的json对象。我有一个简单的h1元素,id设置为'quote',下面的代码(jQuery加载在CodePen中)


在我看来,被访问的url看起来很像一个json对象,但我的函数根本不会更改#quote项。

从url中删除
&callback=
,以请求
json
,而不是将
$.getJSON()
调用转换为
jsonp
请求。此外,返回的是数组,而不是普通对象;使用括号表示法访问对象

function genQuote () {
  var output = $.getJSON("https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1", function(data){

    var theQuote = data[0].content;
    var Author = data[0].title;

    document.getElementById('quote').innerHTML = theQuote;
  })
}

$(genQuote);

JSFIDLE

正如对您问题的评论所说,这是一个跨源请求共享(CORS)问题。API返回“”作为访问控制允许源标题,这不允许您访问


看起来这是他们的API服务器中的一个bug,您可能无法使用它。

查找CORS-检查您的浏览器开发人员工具控制台问题是
javascript
正在发出
jsonp
请求,而不是
JSON
请求。stacksnippets具有
null
来源,而不是作为参数传递给
$.getJSON()
的URL。请求源的协议和URL也应该匹配。
function genQuote () {
  var output = $.getJSON("https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1", function(data){

    var theQuote = data[0].content;
    var Author = data[0].title;

    document.getElementById('quote').innerHTML = theQuote;
  })
}

$(genQuote);