1

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.
また、変更しようとしましdatatypejsonpが、HTTP メソッドが変更されGET、画像に関する情報が取得されます。

4

1 に答える 1

3

Access-Control-Allow-Origin現在のドメインとは異なるサーバーに対して ajax 呼び出しを行っているためです。詳細はこちら

jsonpでしかリクエストPOSTできないため、リクエストには役立ちません。GETjsonp

私見では、クライアント側のスクリプトではなく、サーバー側から POST リクエストを作成するようにしてください。

于 2012-11-23T05:22:51.637 に答える