【问题标题】:why does "datatype: jsonp" not work?为什么“数据类型:jsonp”不起作用?
【发布时间】:2011-08-19 22:43:00
【问题描述】:

我有以下代码,试图让谷歌的 URL 缩短器工作。

$.ajax({
                  type: 'POST',
                  url: "https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyDQ33gAu7thkpw_oW9VTcxR6YGhimcfik",
                  contentType: 'application/json',
                  data: '{ longUrl: "' + match +'"}',
                  dataType: 'jsonp',
                  success: function(id){
                  $('#menu').html(id);
                  }
                });

这里的问题是,当数据类型只是 json 时,发出了请求,但没有返回任何内容。当它更改为 jsonp 时,什么也没有发生。有什么想法吗?

【问题讨论】:

    标签: json jquery jsonp


    【解决方案1】:

    JSON 版本不起作用,因为它是跨域调用(请参阅:Same Origin Policy)。 Google URL 缩短器是否有 JSON-P API?它必须明确支持它。 (另外,JSON-P 不能是 POST;就其性质而言,它是 GET。)

    更新:看起来他们还不支持它,但有一个open enhancement request

    【讨论】:

    • 感谢您的帮助,我想我完全不知道这应该如何工作。我不太了解文档。从我读到的,它告诉我要发布,它会以 json 格式返回数据。
    猜你喜欢
    • 2012-10-01
    • 2013-03-16
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多