C# 使用jqueryajax在数据库中插入数据
我有一个表单,后面有c#(.net4)代码。在此表单中,用户填写其规格并提交。C# 使用jqueryajax在数据库中插入数据,c#,jquery,asp.net,sql-server,C#,Jquery,Asp.net,Sql Server,我有一个表单,后面有c#(.net4)代码。在此表单中,用户填写其规格并提交。 我想在jquery中使用ajax或post方法来防止闪烁。我编写流畅的代码。“success”函数执行但不起作用,并在数据库中插入任何记录;我单独执行executemember方法。它可以正常工作,但不适用于jquery ajax。问题在哪里 [WebMethod] public static string executeinsert(string name ,string family , string u
我想在jquery中使用ajax或post方法来防止闪烁。我编写流畅的代码。“success”函数执行但不起作用,并在数据库中插入任何记录;我单独执行executemember方法。它可以正常工作,但不适用于jquery ajax。问题在哪里
[WebMethod]
public static string executeinsert(string name ,string family , string username,string password , string email,string tel, string codemeli)
{ string constring = "data source=.;database=site;integrated security=true;";
SqlConnection con = new SqlConnection(constring);
SqlCommand com = new SqlCommand("insertmember", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add(new SqlParameter("@username", SqlDbType.NVarChar, 250));
com.Parameters["@username"].Value = username;
com.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 150));
com.Parameters["@name"].Value = name;
com.Parameters.Add(new SqlParameter("@password", SqlDbType.NVarChar, 50));
com.Parameters["@password"].Value = password;
com.Parameters.Add(new SqlParameter("@family", SqlDbType.NVarChar, 250));
com.Parameters["@family"].Value = family;
com.Parameters.Add(new SqlParameter("@email", SqlDbType.NVarChar, 50));
com.Parameters["@email"].Value = email;
com.Parameters.Add(new SqlParameter("@codemeli", SqlDbType.NChar, 10));
com.Parameters["@codemeli"].Value = codemeli;
com.Parameters.Add(new SqlParameter("@tel", SqlDbType.NChar, 12));
com.Parameters["@tel"].Value = tel;
con.Open();
com.ExecuteNonQuery();
con.Close();
return "success";
}
这是我的jquery代码
<script type="text/javascript">
$(document).ready(
function () {
$("#Button1").click(
function () {
var username, family, name, email, tel, codemeli, password;
username = $('#<%=TextBox1.ClientID%>').val();
name = $('#<%=TextBox2.ClientID%>').val();
family = $('#<%=TextBox3.ClientID%>').val();
password = $('#<%=TextBox4.ClientID%>').val();
email = $('#<%=TextBox5.ClientID%>').val();
tel = $('#<%=TextBox6.ClientID%>').val();
codemeli = $('#<%=TextBox7.ClientID%>').val();
$.ajax(
{
type: "POST",
url: "WebApplication20.aspx/executeinsert",
data: "{'username':'username','name':name,
'family':family,'password':password,
'email':email,'tel':tel,
'codemeli':codemeli}",
contentType: "application/json;charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function(msg) {
alert(msg);
},
error: function (x, e) {
alert("The call to the server side failed. "
+ x.responseText);
}
}
);
}
)
})
</script>
$(文件)。准备好了吗(
函数(){
$(“#按钮1”)。单击(
函数(){
var用户名、家庭、姓名、电子邮件、电话、密码;
用户名=$('#').val();
name=$('#').val();
family=$('#').val();
密码=$('#').val();
email=$('#').val();
电话=$('#').val();
codemeli=$('#').val();
$.ajax(
{
类型:“POST”,
url:“WebApplication20.aspx/executeinsert”,
数据:“{'username':'username','name':名称,
“家族”:家族,“密码”:密码,
“电子邮件”:电子邮件,“电话”:电话,
“codemeli”:codemeli}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:true,
cache:false,
成功:功能(msg){
警报(msg);
},
错误:函数(x,e){
警报(“对服务器端的调用失败。”
+x.responseText);
}
}
);
}
)
})
感谢json格式不正确
'name':name
未包含在'
中,这是字符串
data: "{'username' : 'username', 'name':name,'family':family,'password':password,'email':email,'tel':tel,'codemeli':codemeli }",
应该是
data: "{'username' : 'username', 'name':'name', 'family':'family', 'password':'password', 'email':'email', 'tel':'tel', 'codemeli':'codemeli'}",
我相信你的JSON没有正确的格式
尝试验证您的json
您可以看到您的json无效。请检查以下内容:
$(document).ready(function () {
$("#Button1").click(function () {
var userData = new Object();
userData.username = $('#<%=TextBox1.ClientID%>').val();
userData.name = $('#<%=TextBox2.ClientID%>').val();
userData.family = $('#<%=TextBox3.ClientID%>').val();
userData.password = $('#<%=TextBox4.ClientID%>').val();
userData.email = $('#<%=TextBox5.ClientID%>').val();
userData.tel = $('#<%=TextBox6.ClientID%>').val();
userData.codemeli = $('#<%=TextBox7.ClientID%>').val();
$.ajax({
type: "POST",
url: "WebApplication20.aspx/executeinsert",
data: userData,
contentType: "application/json;charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
alert(msg);
},
error: function (x, e) {
alert("The call to the server side failed. " + x.responseText);
}
});
});
});
$(文档).ready(函数(){
$(“#按钮1”)。单击(函数(){
var userData=新对象();
userData.username=$('#').val();
userData.name=$('#').val();
userData.family=$('#').val();
userData.password=$('#').val();
userData.email=$('#').val();
userData.tel=$('#').val();
userData.codemeli=$('#').val();
$.ajax({
类型:“POST”,
url:“WebApplication20.aspx/executeinsert”,
数据:userData,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:true,
cache:false,
成功:功能(msg){
警报(msg);
},
错误:函数(x,e){
警报(“对服务器端的调用失败。”+x.responseText);
}
});
});
});
另外,如果webmethod调用,请尝试调试并将断点放在webmethod中。您试图用数据实现什么:{'user…
line?它是传递一个json字符串还是一组键/值对?我不确定这是否是问题所在,但您将数据类型指向了数据属性的json put PROFECT string。我现在看到这是对json的尝试,但看起来WebMethod不会使用json确保调用了您的页面方法并且json是正确的。P请仔细检查我不确定,但即使在第一种情况下,它也应该向数据库添加带有虚拟数据的记录,如:用户名、名称等。我知道根本没有添加任何数据。我可能弄错了。您是对的,向数据库添加任何记录。我更改了数据部分,但仍然存在问题。我忘了说警报(msg)return null关于警报消息为null,您需要返回一些内容。感谢您的回复。我这样做了。我放置了断点,发现webmethod没有调用。有什么问题请检查: