9

Web サイトと REST API サーバーがあります。

新しいモデルを作成するために、REST サーバーに ajax ポスト リクエストを実行します。このリクエストに対する回答は、ヘッダー「Location: http://myapi.com/some/path/111 」を含む「HTTP/1.1 201 Created」レスポンスになりますが、エラー メッセージが表示されますRefused to get unsafe header "Location"。これは、クロス ドメイン アクセス ポリシーとその他のあらあらあらためによるものであることはわかっています。

誰もそれを修正する方法を知っていますか? たぶん、「Access-Controll-Allow-SOMETHINGHERE」ヘッダーを応答に追加する必要がありますか?

更新:

Web サイトの URL http://www.mydomain.com/

元の URI はhttp://api.mydomain.com/model/で、新しいロケーション URI はhttp://api.mydomain.com/model/211です。

元の URI は、新しい Location ヘッダーで応答する ajax POST 要求に使用されます。

4

4 に答える 4

2

Amazon S3 アップロード (たとえば、Dropzone 経由) の場合、CORS 構成でこれが必要です。

<ExposeHeader>location</ExposeHeader>
于 2016-12-09T01:47:14.877 に答える
1

呼び出しから新しい場所を値として返すか、クライアント コードに新しく作成されたアイテムが格納されている場所を知らせることで、回避することができます。

もう 1 つのオプションは、元のドメインで呼び出し用のプロキシを作成することです。

于 2011-10-08T23:07:23.910 に答える
0
header Location: http://myapi.com/some/path/111"

そのコードは完全に間違っています。正しく、またはほとんど正しく使用してください。

これを試して:

header("Location: http://myapi.com/some/path/111");

また

header("Location: http://myapi.com/some/path/111"); exit();

これがうまくいかない場合は、私に知らせてください:-)

于 2011-10-08T23:16:01.667 に答える