非常に奇妙な問題に遭遇しましたが、ここで見つけた答えのどれもそれを解決しません。
一部のクライアント (IE7、IE8) で、jQuery Ajax を使用してデータを投稿すると、次のようになります。
$.ajax({
type: 'POST',
url: '<%= ResolveUrl"~/User.svc/GetUserListForCity") %>',
data: '{"city":' + cityId + '}',
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
success: processList,
error: showErrorAlert
});
私が得ているエラー:
「メッセージが空 (IsEmpty = true) であるため、OperationFormatter はメッセージからの情報を逆シリアル化できませんでした。」
ただし、Fiddler を使用してデータを表示しようとすると、要求は成功します。
サーバーは IIS であり、要求は WCF Web サービス (webHttpBinding) によって処理されます。デフォルトを許可するために contentType を削除すると、JSON が予期されるため、サーバーによって拒否されます。どんな提案でも大歓迎です。