我在AJAX中写了网址,但无法正常工作。它不是将值发布到我写了方法doSomething(string fname,int age)
的{{1}}方法中,而我写了AJAX函数的in方法将数据发送到insert.aspx / doSomething,但是它不起作用。
AJAX
addProject()
insert.aspx
function addProject() {
$.ajax({
type: 'POST',
url: 'insert.aspx/doSomething',
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
data: { fname: $('#fname').val(), age: $('#age').val() },
success: function (data) {
alert("success");
},
error: function (xhr, status, error) {
debugger;
console.log(xhr.responseText);
}
});
}
答案 0 :(得分:1)
我认为意识到我在ajax帖子中有这行错误:
data: { fname: $('#fname').val(), age: $('#age').val() },
应该是:
data: "{fname: '" + $('#fname').val()+ "',age: '" + $('#age').val() + "'}",
以及WebMethod可以:
public static string AddTo_Cart(string fname, int age)
我希望这可以解决您的问题。
答案 1 :(得分:0)
您需要将这两个属性包装在一个类中,然后它才能工作。 这里的UserClass是包含fname和age属性的自定义类
public class UserClass
{
public string fname { get; set; }
public int age { get; set; }
}
[WebMethod]
public static string doSomething(UserClass obj)
{
SqlConnection con = new SqlConnection("server=.; Initial Catalog = jds; Integrated Security= true;");
string sql = "insert into record values('" + obj.fname + "','" + obj.age + "')";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
return "Sucess";
}