0

django で REST API をセットアップし、CORS を有効にした JavaScript AJAX 経由で要求を行いました。PUT リクエストを使用しようとするまでは正常に動作します。django は PUT を処理できないため、django-piston のcoerce_put_postメソッドを使用しています。問題は、PUT リクエストは正常に処理されますが、OPTIONS リクエストは で失敗すること405 METHOD NOT ALLOWEDです。

これは、失敗した要求のネットワーク ログです。

  • リクエスト URL :http://localhost
  • 依頼方法: OPTIONS
  • ステータスコード: 405 メソッドは許可されていません

リクエスト ヘッダー

  • 受け入れる: /
  • Accept-Encoding : gzip、deflate、sdch
  • Accept-Language : de,en-US;q=0.8,en;q=0.6
  • Access-Control-Request-Headers : accept、origin、content-type
  • Access-Control-Request-Method : PUT
  • キャッシュ制御: キャッシュなし
  • 接続:キープアライブ
  • ホスト:フー
  • 起源:http://localhost
  • プラグマ: no-cache
  • リファラー:http://localhost/bar
  • ユーザーエージェント: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/28.0.1500.95 Safari/537.36

応答ヘッダー

  • Access-Control-Allow-Credentials : true
  • Access-Control-Allow-Headers : Content-Type、Pragma、Cache-Control
  • Access-Control-Allow-Methods : POST、GET、OPTIONS、PUT、DELETE
  • Access-Control-Allow-Origin :http://localhost
  • 許可: 投稿、取得、オプション、書き込み、削除
  • コンテンツ タイプ: テキスト/html; 文字セット=utf-8
  • 日付: 2013 年 8 月 9 日 (金) 09:39:41 GMT
  • サーバー: WSGIServer/0.1 Python/2.7.4

ご覧のとおり、OPTIONS は CORS ヘッダーで実際に許可されています。

では、なぜそれはまだ失敗するのでしょうか?

4

0 に答える 0