如何将JavaScript变量转换为JSON对象并使用VB.Net将该JSON对象插入到Mysql
问题描述:
我想将我的JavaScript变量转换为JSON对象并使用VB.Net代码将JSON对象插入到MySQL数据库中。如何将JavaScript变量转换为JSON对象并使用VB.Net将该JSON对象插入到Mysql
我的代码是这样的:
客户端:
<script type = "text/javascript" >
$(function() {
$('#btnSubmit').click(function() {
var Name = $('#txtname').val();
var Username = $('#txtUsername').val();
var Password = $('#txtPassword').val();
if (Name != '' && Username != '' && Password != '') {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/InsertData",
data: "{'Name':'" + Name + "','Username':'" + Username + "','Password':'" + Password + "'}",
dataType: "json",
success: function (data) {
var obj = data.d;
if (obj == 'true') {
$('#txtname').val('');
$('#txtUsername').val('');
$('#txtPassword').val('');
$('#lblmsg').html("Details Submitted Successfully");
window.location.reload();
}
},
error: function (result) {
alert("Error");
}
});
}
else {
alert('Please enter all the fields')
return false;
}
})
});
</script>
服务器端:
<WebMethod()> _
Public Shared Function InsertData(ByVal username As String, ByVal subj As String, ByVal desc As String) As String
Dim msg As String = String.Empty
Using con As New SqlConnection("server=192.168.1.53;charset=utf8;userid=root;password=password;allow user variables=true;database=information")
Using cmd As New SqlCommand("insert into userDetails(Name,Username,Password) VALUES(@Name,@Username,@Password)", con)
con.Open()
cmd.Parameters.AddWithValue("@Name", Name)
cmd.Parameters.AddWithValue("@Username", Username)
cmd.Parameters.AddWithValue("@Password", Password)
Dim i As Integer = cmd.ExecuteNonQuery()
con.Close()
If i = 1 Then
msg = "true"
Else
msg = "false"
End If
End Using
End Using
Return msg
End Function
但其显示的错误。我的JSON变量没有在服务器 - 声明我是JSON的新手。请帮帮我。提前致谢。
答
您的JavaScript代码肯定是试图发送JSON,但您的vb.net代码并不寻找json。它正在寻找标准的发布数据。这类数据不能真正保存为JSON对象。所以你的vb.net代码是正确的,让我们只需要改变JavaScript发送一个标准的帖子,你的VB.NEt代码将能够做到没有任何问题的插入。
$.ajax({
type: "POST",
url: "Default.aspx/InsertData",
data: {'Name': Name,'Username': Username, 'Password': Password },
success: function (data) {
var obj = data.d;
if (obj == 'true') {
$('#txtname').val('');
$('#txtUsername').val('');
$('#txtPassword').val('');
$('#lblmsg').html("Details Submitted Successfully");
window.location.reload();
}
},
error: function (result) {
alert("Error");
}
});
谢谢......但它在我的服务器端脚本中显示错误,在sqlcommand中将我的变量添加为'名称'未声明。 – MDP
这当然是一个完全不同的问题。但那是因为你没有正确定义参数ByVal username As String,ByVal subj As String,ByVal desc As String – e4c5
是的,我错误地定义了变量..但是我的JSON数据仍然只是通过错误信息。 – MDP