2014-01-17 20 views
9

jsonを使用してJsonデータをサーバーに投稿しています。しかし、私は以下のようにPOSTリクエストを作るときJSONを使用してJSONを投稿し、HTTPコンテンツタイプを設定する - 'application/json'

$.ajax({ 
       type  : 'POST' , 
       url   : uri, 
       data  : jsonStrJson, 
       contentType : 'application/json', 
       success  : successFunction 
     }); 

httpリクエストヘッダのコンテンツタイプが、私はJSONオブジェクトを掲載するにもかかわらず、「アプリケーション/ JSON」ではありません。

それはapplcation/JSONではないので、サーバーはrequsetを処理し、415

を返していませんjavascriptやjqueryのAPIを使用してヘッダーを設定する方法はありますか?

+7

'contentTYpe' - >' contentType'? –

+2

非常に鋭い目@JasonP、私はそれを逃した – Miller

+0

それを感謝します。私は、このシンディケアを投稿していただきありがとうございます。私は、AJAX用のJquery APIについて理解しています。私の悪い。ありがとう、ジェイソン –

答えて

25

あなたはこれを試すことができ、

$.ajax({ 
    beforeSend: function(xhrObj){ 
     xhrObj.setRequestHeader("Content-Type","application/json"); 
     xhrObj.setRequestHeader("Accept","application/json"); 
    }, 
    type: "POST", 
    url: uri,  
    data: jsonStrJson,    
    dataType: "json", 
    success: function(json){ 
     console.log(json); 
    } 
}); 
5

"contentTypeの" 代わり "CONTENTTYPE" も問題を解決する必要があります。 ;)HTTPリクエストヘッダのパラメータを設定する。また

+0

ええ、それはすでにコメントに記載されています。 –

0

あなたは、このアプローチを試すことができます。

$.ajax({ 
     type  : 'POST' , 
     url   : uri, 
     data  : jsonStrJson, 
     headers  : { 'Content-Type': 'application/json' }, //this line 
     success  : successFunction 
     }); 
関連する問題