我使用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");
}
});
}
答案 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);