【问题标题】:When to use .ajax or .getJSON when calling API调用 API 时何时使用 .ajax 或 .getJSON
【发布时间】:2016-07-23 16:34:43
【问题描述】:

我正在使用 openweather API,查看示例代码后,我有时会看到这样的 API 调用:

function getWeather(callback) {
    var weather = 'http://api.openweathermap.org/data/2.5/forecast?lat=51.5072&lon=0.1275&units=metric';
    $.ajax({
      dataType: "jsonp",
      url: weather,
      success: callback
    });
}

但偶尔我会看到使用这种方法发出的请求:

function gettingJSON(){
document.write("jquery loaded");
$.getJSON("api.openweathermap.org/data/2.5/weather?q=London&APPID=ee6596241130f193adf1ba90e625cc10",function(json){
document.write(json);
}

这些方法之间的主要区别是什么?一种被认为比另一种更好或更有效?

【问题讨论】:

标签: javascript json ajax openweathermap


【解决方案1】:

$.getJSON 是 $.ajax 传递数据类型“json”和方法“GET”的快捷方式。使用 $.ajax,您可以使用其他方法,例如“POST”或“PUT”以及其他数据类型,例如“xml”或“html”。

在你的第一个例子中,数据类型是'jsonp',这是另一件事有点不同......当你传递一个函数名X时,响应是这个函数名包装的json......X ({...}) 当你需要从另一个域调用 web api 时它很有用,因为 ajax 调用必须在同一个域中,但<script> 标签可以有一个 src 属性指向另一个域。

【讨论】:

    猜你喜欢
    • 2012-07-09
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多