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
});

我得到的错误:

“OperationFormatter 无法反序列化消息中的任何信息,因为消息为空 (IsEmpty = true)。”

但是,当我尝试使用 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 回答