对Picasa API的POST请求

时间:2012-11-22 14:01:53

标签: ajax api picasa

我一直在使用Picasa API上的POST。 这是代码:

$.ajax({
    type: "POST",               
    url: 'https://picasaweb.google.com/data/feed/api/user/' + uid + '/albumid/' + album_id + '/photoid/' + photo_id,
    crossDomain: true,
    data: { content: content },
    success: function() { alert("Success"); },
    error: function() { alert('Failed!'); }
});

我已经通过GET检索了一些信息而没有任何问题。

现在有趣的是,当我尝试使用Google测试服务时,会出现以下错误:

 XMLHttpRequest cannot load
 https://picasaweb.google.com/data/feed/api/user/userid/albumid/albumid/photoid/photoid?content=foo%bar.
 Origin http://localhost:3000 is not allowed by
 Access-Control-Allow-Origin

当我在Firefox中尝试时,请求标头方法更改为OPTIONS,状态为204: no content
另外,我尝试将datatype更改为jsonp,然后将HTTP方法更改为GET,并检索有关图片的信息。

1 个答案:

答案 0 :(得分:3)

Access-Control-Allow-Origin即将推出,因为您正在对与当前域不同的服务器进行ajax调用。 阅读更多here

jsonpPOST请求无效,因为您只能GET发出jsonp次请求。

恕我直言,您应该尝试从服务器端而不是客户端脚本发出POST请求。