为什么“datatype:jsonp”不起作用?

时间:2011-05-06 06:40:36

标签: json jquery jsonp

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

$.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时,一切都没有发生。任何想法?

1 个答案:

答案 0 :(得分:6)

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

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