【问题标题】:Jquery not sending data to WCF in a postJquery没有在帖子中向WCF发送数据
【发布时间】:2011-05-03 17:50:22
【问题描述】:

大家好,WCF 遇到了一些问题。出于某种原因,我根本没有发送任何数据,或者我收到 500 内部服务器错误......这意味着 WCF 不知道我在发送什么。如果我更改为 WrappedRequest,我可以访问该服务,但不会发送任何内容。谁能看到我做错了什么?这是javascript

var data = { UserId: 2, Name: "test" };
                $.ajax({
                    url: 'http://localhost:54900/MyService.svc/SaveName',
                    type: "POST",
                    cache: false,
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    data: $.toJSON(data),
                    error: function (data, textStatus, errorThrown) {
                        alert(errorThrown);
                    },
                    success: function (data, textStatus, jqXHR) {
                        alert('success');
                    }
                });

[WebInvoke(Method = "POST", BodyStyle
= WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]

发现了问题。不得不删除 enablewebscript 并将其留在 webHttp。这解决了问题。

【问题讨论】:

    标签: jquery asp.net wcf json


    【解决方案1】:

    当您使用“WebMessageBodyStyle.Bare”选项时,您需要通过不同的方式将数据发送到您的 WCF 服务。

    您需要在 url 末尾添加参数值,而不是 ajax 调用的日期,如下所示: 网址:'http://localhost:54900/MyService.svc/SaveName/parameters'。

    仅供参考-只需要添加值而不是参数的名称。

    您还需要在 WCF 服务上的方法中添加另一个属性,这是 UriTemplate,其格式必须如下:

    UriTemplate = "/theNameOfYourMethod/{firstNameOfYourParameter}/{second...}"

    问候

    【讨论】:

      【解决方案2】:

      对不起,克里斯 做错了。不是故意的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-11
        • 2014-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多