我对javascript相当陌生,目前我正试图在freecodecamp上完成随机报价机项目。这样做的目的是在用户点击"New“按钮时显示引号和作者。我的问题是,无论何时点击,它都会以jibberish的形式显示引号,我不知道如何正确地将引号与作者一起拉出。如果有人能引导我走上正确的道路,那将是非常感谢的!
https://codepen.io/leafbow/pen/RyjaeV
$(document).ready(function() {
$("#changeColor").on("click", function() {
getQuote();
});
});
function getQuote() {
var options = {
url: 'https://quotesondesign.com/wp-json/posts? filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=getQuote'
};
var request = $.ajax(options);
request.done(function(responseFromServer) {
console.log(responseFromServer);
document.getElementById("quote").innerHTML = responseFromServer;
});
request.fail(function(responseFromServer, status, error) {
console.log(responseFromServer);
console.log(status);
console.log(error);
});
}
发布于 2018-05-08 00:13:02
这并不是说笑。服务器返回JSON中的数据,您需要解析它才能使它为您工作。
试试下面的代码:
request.done(function(responseFromServer) {
var quote = responseFromServer[0];
document.getElementById("quote").innerHTML = quote.title;
});
此外,您还需要更改请求URL。我是通过参考医生们获得这个信息的。
从其中删除_jsop
参数并添加一个空的callback
参数。所以URL实质上是这样的:
https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=
有关更多信息,请参见此工作演示。
https://stackoverflow.com/questions/50228851
复制