2011-08-25 20 views
2

javascriptを使用して画像をpicasaに投稿しようとしています。私は必要なトークンを持っています。しかし私が投稿すると、私は "204 no content"というエラーが出るJavascriptを使用してPicasaに画像を投稿するXMLHttpRequest

ここに私のコードです。

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()); 

} 
+1

このリクエストをpicasaweb.google.com以外のドメインから送信しようとしている場合は、[同一元のポリシー](http://en.wikipedia.org/wiki/Same_origin_policy)によってブロックされます。 – HoLyVieR

+0

しかし、彼は204の応答を得て問題にならないでしょうか? –

+0

ちょうどニットに: "204 No Content"はエラーではありません。 2xxクラスは成功コード用です。 RFCは、 "サーバは要求を満たしているが、エンティティ本体を返す必要はなく、更新されたメタ情報を返すことを望むかもしれない"ということを意味する。もし存在するならば、要求されたバリアントに関連付けられるべきである(SHOULD)。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html –

答えて

2

204は何を意味していますか?

204サーバーが正常に要求を処理しません内容が、 は、任意のコンテンツ

http status codes

サーバはそれが良かったと言っていると返すためには何もありませんが返されていません。

+0

しかし、私は写真をアップロードします。私はピカサのアルバムでそれらを参照してください – Droidme

1

問題はdojo.xhrgetであり、構文やpicasaでは問題ではありません。 Firebugのネットパネルを見ると、dojo.xhrGetはpicasaが要求するリクエストヘッダーにセッションCookieを送信しないことがわかります。

jQuery.Getを試してみると、うまく動作します。

関連する問題