使用jquery ajax消耗wcf Web服务

时间:2013-09-13 06:04:32

标签: jquery ajax wcf

我创建了一个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();

2 个答案:

答案 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。