使用JSON调用API

时间:2017-05-14 04:44:29

标签: javascript jquery json api

我正在尝试学习如何使用JQuery调用API。我创建了一个小函数来更改div(class="quote-box")内的文本。该函数似乎在大多数情况下都能正常工作。点击#newQuote按钮可将div中的文字更改为Didn't work

但是,中间的.getJSON根本不做任何事情。我希望此代码将文本更改为“Yay。”,但它拒绝在function(json){ }块内执行任何操作。

- 删除旧代码 -

非常感谢任何帮助。

编辑: 这似乎与上述问题不完全相同,因为即使删除所有变量,函数仍会继续失败。

  $("#newQuote").on("click", function(){

       $.getJSON("http://api.forismatic.com/api/1.0/?method=getQuote&lang=en&format=json", function(json){
         $(".quote-box").html("Yay");
       }); 
 });

编辑2: 解决了。 forismatic API不喜欢https。切换到普通的http会使一切正常。

1 个答案:

答案 0 :(得分:4)

因为getJSON是一个异步调用,这意味着你之后的代码不会等待System.Diagnostics.Trace.TraceInformation("My trace statement"); System.Diagnostics.Trace.TraceWarning("My warning statement"); System.Diagnostics.Trace.TraceError("My error statement"); 完成继续。

要解决此问题,请在getJSON

中添加$(".quote-box").html(outputString);
getJSON