我有一个 WCF JSONP 服务,我正在尝试使用 jQuery (v 1.7.2)。
服务器端代码:
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
[JSONPBehavior(callback = "method")]
List<string> GetList()
{
return new List<string> {"test1", "test2"};
}
客户端代码:
function showList()
{
$.ajax({
url: 'http://mysite/myservice.svc/GetList',
dataType: 'jsonp',
data: { },
contentType: "application/json",
success: function (m)
{
debugger;
},
error: function (err)
{
debugger;
}
});
}
发生的情况是:调用了“错误”回调,当我检查err
参数时,它err.responseText
包含正确的 JSON 响应:{"GetListResult":["test1","test2"]}
为了查看发生了什么,我开始调试 jQuery 本身,我看到的是它无法转换结果ajaxConvert
方法:
jQuery 1.7.2(未最小化),第 7511 行:success = ajaxConvert( s, response );
那些异常Could not complete the operation due to error 80020101.
。
当我单步执行时ajaxConvert
,我看到它试图做的事情jQuery.globalEval(response)
会引发上述异常。
任何想法我做错了什么?