调用

时间:2018-01-20 18:51:39

标签: javascript jquery function

我有以下代码:

function firstQuote(){
  jQuery.ajax({
    url: "https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=mycallback",
    type: 'GET',
    dataType: "jsonp",
  }); 

  function mycallback(json){
    document.getElementById('quote').innerHTML = json[0].content;
  }
};
window.onload = firstQuote;

这是一个简单的功能,但它没有被执行。如果我把代码带到函数之外,它就可以完美地运行。我现在已经坚持了一段时间。拜托,有人能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

您正尝试在firstQuote函数中定义回调。 (如果查看错误控制台,您将看到“[错误] ReferenceError:找不到变量:mycallback”。)将这些函数分开以将mycallback放在全局范围内:

function mycallback(json) {
  document.getElementById('quote').innerHTML = json[0].content;
}

function firstQuote() {
  jQuery.ajax({
    url: "https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_jsonp=mycallback",
    type: 'GET',
    dataType: "jsonp",
  });
};
window.onload = firstQuote;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="quote"></div>