0

次のような JSON オブジェクトを Web クライアントから送信しています。

{"AudioEncoder":{"Settings":{"1":{"audio_bitrate":"16000"}}}}

そして、私が取得したリクエストではreq.body.myvalue

{"AudioEncoder":{"Settings":[null,{"audio_bitrate":"16000"}]}}

ブラウザの [ネットワーク] パネルには、正しい値が表示されます。

myvalue[AudioEncoder][Settings][1][audio_bitrate]:16000

エラーは、キーを持つオブジェクトを期待している{1:...が get[null:...です。

なぜこれが起こるのでしょうか?

4

1 に答える 1

1

あなたのブラウザは実際には JSON を送信しているのではなく、application/x-www-form-urlencoded. ブラウザに JSON: を送信させようとしている場合、これは正しい値ではありませんmyvalue[AudioEncoder][Settings][1][audio_bitrate]:16000。それはJSONではありません。リクエスト ヘッダーを確認し、リクエストContent-Typeの生の本文を見て、これを確認します。AJAX を送信しているブラウザ JS を投稿すると、その修正をお手伝いできます。jQuery では、実際に JSON を送信するためにオプションを正しく指定するのが少し難しくなります。

于 2013-07-31T18:02:03.430 に答える