【问题标题】:How to convert JavaScript variable to JSON object and insert that JSON object into Mysql using VB.Net如何使用 VB.Net 将 JavaScript 变量转换为 JSON 对象并将该 JSON 对象插入 Mysql
【发布时间】:2016-12-16 05:36:34
【问题描述】:

我想将我的 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 jquery mysql json vb.net


    【解决方案1】:

    您的 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 中添加我的变量作为“名称”未声明。
    • 这当然是一个完全不同的问题。但那是因为你没有正确定义参数 ByVal username As String, ByVal subj As String, ByVal desc As String
    • 是的,我错误地定义了变量..但我的 JSON 数据仍然只通过错误消息..
    • 这是什么意思?
    • 你代码中的sucess方法是异步HTTP请求完成后的回调。它不会被“你的 json 方法”调用
    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 2017-06-16
    • 2017-07-27
    • 2016-12-26
    • 2018-04-28
    • 1970-01-01
    • 2020-01-07
    相关资源
    最近更新 更多