我创建了一个wcf并在我的机器上本地运行。在同一个项目中,我创建了一个使用ajax调用此wcf Web服务的html页面。
$.ajax({
type: "POST",
url: "wbsvc.svc/calendar",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
processData: false,
success: function (msg) {
var data = msg.d;
console.log(data);
},
error: function (msg) {
console.log(msg);
}
});
calendar是webservice中的方法。 错误是
Failed to load resource: the server responded with a status of 400 (Bad Request) in wcf using ajax http://localhost:65029/wbsvc.svc/calendar?callback=jQuery110108707461392041296_1379052209564
我在这里缺少什么。
界面
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Model.calenderinfo[] calendar();
答案 0 :(得分:0)
jsonp用于跨域,只需尝试jsonp>
答案 1 :(得分:0)
将数据类型更改为Json。
dataType: "json"
我认为你的wcf服务的网址很糟糕。 在发送请求之前,尝试打开Chrome开发者工具或Firefox上的Firbug,您可以看到请求网址。
现在,如果您的请求网址为http://localhost/myproject/wbsvc.svc/calendar
然后在浏览器中输入http://localhost/myproject/wbsvc.svc
,如果你能看到的话
WSDL页面,那么您的URL是正确的。
否则,您需要在URL参数中提供正确的URL。