Asp.net网址无法正常使用:'insert.aspx / doSomething',

时间:2018-12-25 11:09:14

标签: c# asp.net ajax

我在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);
                }
            });
            }

2 个答案:

答案 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";
}