4

json文字列をRESTサービスに投稿しようとしています。次のコードが使用されています。

dojo.xhrPost( {
    url: REST_URL,
    postData: jsonData, 
    handleAs: "json",
    headers: {"Content-Type": "application/json"},    
    load: function(response, ioArgs) { 
    alert(response);
  },    
  error: function(response, ioArgs) {
        alert(response);
    }
  });

ブラウザ(IE / Firefox)から送信されたリクエストをフィドラーを使用して傍受します。IEからリクエストを送信すると、fiddlerはContent-typeヘッダーが「application/json」に設定されていることを示します。

ただし、Firefoxを使用して同じリクエストが送信された場合、Content-typeヘッダーはリクエストヘッダーに表示されません(つまり、Firefoxによって追加されません)。私のサーバーは、コンテンツタイプが「application/json」であることを検証するように設定されています。したがって、要求はサーバーによって拒否されます。

質問:

  1. Firefoxでこれを機能させるために今何をしますか
  2. そして最も重要なのは、FirefoxがContent-typeのヘッダーをリクエストヘッダーに追加しないのはなぜですか?環境の詳細:OS:Win7 32ビット、ブラウザー:IE8/9およびFirefox11
4

2 に答える 2

2

テストに間違いがある可能性があります。Firefoxは、指定したContent-typeヘッダーも追加します。IE / ChromeとFirefoxの唯一の違いは、FFが以下のような文字セット情報を追加することです。

Content-Type: application/json; charset=UTF-8
于 2012-04-15T08:07:11.620 に答える
1

私はこの質問が死んでいることを知っていますが、同様の問題があり、このバグレポートを見つけました

あなたが古代人のその知恵を探しているなら、私はこれが役立つことを願っています;)

于 2015-12-02T16:16:28.137 に答える