【发布时间】:2014-07-08 12:47:04
【问题描述】:
我创建了一个 WCF 服务,其方法声明如下
[OperationContract]
[WebInvoke(UriTemplate="getDashBoard", Method="POST", BodyStyle=WebMessageBodyStyle.WrappedRequest, RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
getDashBoard object (string strGroups);
返回一个
List<Dictionary String, Object> rows = new List<Dictionary String, Object>();
由 JavaScriptSerializer 序列化
serializer.Serialize ( rows) ;
客户端我这样调用webservice方法
$.ajax ({
type: " POST" ,
url: url ,
headers : {" Access -Control- Allow- Origin" , " *", " Access -Control- Request- Method" , " POST "},
dataType : " json " ,
contentType : "application / json ; charset = utf -8" ,
date : ' {" strGroups ": " ISPB "} ' ,
success : function ( data) {
var content = JSON.parse ( data);
$.each(content, function(i, item) {
console.log(i) ;
});
},
error: function (jqXHR, textStatus, errorThrown) {
alert(" getDashBoard " + textStatus) ;
}
});
对于 Firefox,对 WS 的调用会返回此错误“NetworkError:405 Method Not Allowed。锁定请求多源(跨源):源的标准不允许读取远程资源 http://.. ..您可以解决问题...通过在同一域上移动资源或激活CORS。”
使用调试器 IE 返回的数据显示格式正确,并且对象“内容”具有所有正确的值但循环不起作用:它返回“字符无效”
帮助meeeeee! 我很绝望:o
感谢辛齐亚
【问题讨论】:
标签: jquery ajax json wcf cross-domain