Jquery不在帖子中向WCF发送数据

时间:2011-05-03 17:50:23

标签: jquery asp.net wcf json

嗨,大家好常遇到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。这解决了这个问题。

2 个答案:

答案 0 :(得分:0)

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

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

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

你还需要在WCF服务上为你的方法添加另一个属性,这就是UriTemplate,这必须像这样格式化:

UriTemplate =“/ theNameOfYourMethod / {firstNameOfYourParameter} / {second ...}”

此致

答案 1 :(得分:0)

抱歉克里斯 做错了。这不是故意的