使用 Javascript XMLHttpRequest 将图像发布到 Picasa
我正在尝试使用 javascript 将图像发布到 picasa。我已经获得了所需的代币。但是当我发帖时,我收到错误“204 无内容”
这是我的代码。
function send()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function ()
{
if(xhr.readyState == 4)
alert(xhr.status);
}
xhr.open("POST","https://picasaweb.google.com/data/feed/api/user/default/albumid/default", true);
var type = document.getElementById('file').files[0].type;
xhr.setRequestHeader('Accept','message/x-jl-formresult');
xhr.setRequestHeader("content-type",type);
xhr.setRequestHeader('Content-Length',document.getElementById('file').files[0].size);
xhr.sendAsBinary(document.getElementById('file').files[0].getAsBinary());
}
I am trying to post an image to picasa using javascript. I have got the required tokens. But when I post, I get an error "204 no content"
Here is my code.
function send()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function ()
{
if(xhr.readyState == 4)
alert(xhr.status);
}
xhr.open("POST","https://picasaweb.google.com/data/feed/api/user/default/albumid/default", true);
var type = document.getElementById('file').files[0].type;
xhr.setRequestHeader('Accept','message/x-jl-formresult');
xhr.setRequestHeader("content-type",type);
xhr.setRequestHeader('Content-Length',document.getElementById('file').files[0].size);
xhr.sendAsBinary(document.getElementById('file').files[0].getAsBinary());
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你知道204是什么意思吗?
http 状态代码
服务器说它很好,没有任何内容返回。
Do you know what 204 means?
http status codes
The server is saying it was good and there is nothing to return.
问题在于 dojo.xhrget,而不在于您的语法或 picasa。查看 firebug 中的网络面板,您会发现 dojo.xhrGet 没有发送 picasa 所需的请求标头中的会话 cookie。
尝试使用 jQuery.Get,您会发现它工作正常。
The problem is with dojo.xhrget, not with your syntax or picasa. Look in the net panel in firebug and you'll see that dojo.xhrGet does not send the session cookie in the request header s that picasa requires.
Try using jQuery.Get and you'll find it works fine.