0

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

2 回答 2

0

jsonp 是跨域的,试试 json

于 2013-09-13T06:11:35.883 回答
0

将数据类型更改为 Json。

dataType: "json"

我认为您的 wcf 服务的网址已磨损。在发送请求之前,尝试打开 Chrome 开发者工具,或者 Firefox 上的 Firbug,可以看到请求 URL。

现在,如果您的请求 URLhttp://localhost/myproject/wbsvc.svc/calendar 然后http://localhost/myproject/wbsvc.svc在浏览器中输入,如果您能够看到 WSDL 页面,那么您的 URL 是正确的。否则,您需要在 URL 参数中提供正确的 url。

于 2013-09-13T06:41:43.120 回答