0

非常に奇妙な問題に遭遇しましたが、ここで見つけた答えのどれもそれを解決しません。

一部のクライアント (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 が予期されるため、サーバーによって拒否されます。どんな提案でも大歓迎です。

4

1 に答える 1

0

これを試してください..データオブジェクトを送信しているように見えますが間違っています

data: {"city": cityId }, // If cityID is a string this should do

また

data: '{"city":"' + cityId + '"}',

URL の送信方法にも問題がある可能性があります。絶対パスを使用してみて、それが機能するかどうかを確認してください。

于 2012-09-26T17:53:53.743 に答える