1

我第一次使用启用 Ajax 的 Wcf 服务尝试测试一个非常基本的功能,

这是我的服务文件Service.svc

[ServiceContract(Namespace = "testService")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service
{
[OperationContract]
public void DoWork(int id)
{
    return;
}

[OperationContract]
[WebInvoke]
[WebGet]
public string sting(int id) 
{
    string _sting = string.Format("Number is {0}" + id);
    return _sting;
}

}

并尝试使用 jquery 来调用,但这样:

    $(function () {
        $.ajax({
            type: "POST",
            url: "Service.svc/sting",
            data: '{"id":"3"}',
            processData: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function () {
                alert("success");
            },
            error: function (msg) {
                $("#errorDiv").text(msg);
            }
        });
    });

但我总是得到错误[object Object]

我在做什么错,谢谢

4

1 回答 1

2

两件事情:

  1. 您将 Web 方法定义为 a但 在 Jquery Ajax 方法中将[WebGet]其作为请求调用。用类似的东西POST替换:[WebGet]

    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json)]

  2. 我不确定您的 Web.config 中有什么,但您需要确保正确定义了端点行为。

    如果您仍然需要这方面的帮助,如果您可以发布您的 web.config 文件会有所帮助。

于 2012-07-22T18:47:34.040 回答