jQuery ajax调用web方法无法设置数据类型:json

时间:2014-06-19 07:24:25

标签: c# jquery asp.net ajax asp.net-ajax

我使用c#编写了一个web方法,web方法如下

  [WebMethod]
    public string getname(string name)
    {
        return "my name is" + name.ToString();
    }

我创建另一个aspx页面来调用web方法。如果我设置了dataType和contentType,它会一直给我一个错误并且警告失败。如果我删除了contentType和datatype,它会提醒我。但是当我提醒(数据)从web方法返回数据时,它会显示我创建的页面的所有html代码。我检查浏览器控制台,它显示POST http://webservice.aspx/getname 500(内部服务器错误)。我犯了什么错误。请帮忙。

 function getname()
    {            
        var name = "Peter";
        $.ajax({
            url: '/webservice.aspx/getname',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            type: "POST",
            data: "{'name':" + name + "}",
            success: function (data) {
                alert("OK");
                alert(data);
            },
            error: function (result) {
                alert("fail");
            }
        });
    }

2 个答案:

答案 0 :(得分:0)

试试这个:

function getname()
    {            
        var name = "Peter";
        $.ajax({
            url: '/webservice.aspx/getname',
            //contentType: "application/json; charset=utf-8",
            //dataType: "json",
            type: "POST",
            data: {name:name}
            success: function (data) {
                alert("OK");
                alert(data);
            },
            error: function (result) {
                alert("fail");
            }
        });
    }

答案 1 :(得分:0)

dataType定义数据的类型(对于javascript)。不是您发送的数据的类型。

在js中: 数据:{   名称:名称 },

WebMethod中的

: 返回Json.Encode(xxx);