私はすべての $.ajax.post 操作に共通の方法を使用しており、使用ごとに異なる方法でペイロードをエンコードしています。
たとえば、
data: someJSObject
JSON として投稿されます。
ただし、オブジェクトを定義すると(プロパティを「引用符」に入れてみました:val)
data: { mgrID: 0, strId: 0, strName: 'Bowie' }
これは URL エンコードされた文字列に変換されます
mgrID=250411&strId=1006575&strName=Bowie
私のポスト関数
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
url: url,
data: data,
Chrome コンソールでは、投稿前に有効な json として認識されたオブジェクトを確認できます。