我一直在使用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
,并检索有关图片的信息。
答案 0 :(得分:3)
Access-Control-Allow-Origin
即将推出,因为您正在对与当前域不同的服务器进行ajax调用。
阅读更多here
jsonp
对POST
请求无效,因为您只能GET
发出jsonp
次请求。
恕我直言,您应该尝试从服务器端而不是客户端脚本发出POST请求。