繁体   English   中英

如何使用VB.Net通过javascript变量将JSON对象插入Mysql数据库

[英]How to insert JSON object into Mysql database through javascript variable using VB.Net

我想通过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 Name As String, ByVal UserName As String, ByVal Password As String) As String
    Dim msg As String = String.Empty
    Dim MySqlConn As MySqlConnection
    Dim query As String
    Dim dbcomm As MySqlCommand
    Dim reader As MySqlDataReader
    MySqlConn = New MySqlConnection
    MySqlConn.ConnectionString = "server=192.168.1.53;charset=utf8;userid=root;password=password;allow user variables=true;database=information"
    MySqlConn.Open()
    query = "insert into information.userDetails(Name,Username,Password) VALUES(@Name,@Username,@Password)"
    dbcomm = New MySqlCommand(query, MySqlConn)
    reader = dbcomm.ExecuteReader
    Dim i As Integer = dbcomm.ExecuteNonQuery()
    If i = 1 Then
        msg = "true"
    Else
        msg = "false"
    End If

    Return msg
    MySqlConn.Close()

End Function

但是我的json数据总是通过错误函数。 它不进入成功函数,而总是调用错误函数。 请让我知道该怎么办?? 提前致谢。

您可以使用JSON.stringify正确发送json data

手动添加quotes and braces需要proper formatting因此,即使您错过了单引号,也会发生错误。

var data = JSON.stringify({Name:  Name ,Username: Username ,Password:Password});


$.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "Default.aspx/InsertData",
        data: data,
        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");
            }
});

我使用了所有jquery版本,但我的Jquery函数无法正常工作,并显示错误消息,因为“已弃用getPreventDefault()。请改用defaultPrevented。” 再来再来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM