2016-12-16 2 views
0

JavaScript変数をJSONオブジェクトに変換し、VB.Netコードを使用してJSONオブジェクトをMySQLデータベースに挿入します。JavaScript変数をJSONオブジェクトに変換し、そのJSONオブジェクトをVB.Netを使用して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が初めてです。私を助けてください。前もって感謝します。

答えて

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"); 
       } 
      }); 
+0

ありがとうございます...しかし、 'Name'としてsqlcommandに変数を追加するサーバーサイドスクリプトでの表示エラーが宣言されていません。 – MDP

+0

それはもちろん全く別の質問です。しかし、それはあなたが正しくパラメータを定義していないからです。ByValユーザー名As String、ByVal Subj As String、ByVal desc As String – e4c5

+0

ええ、私は変数を間違って定義しました..しかし、まだ私のJSONデータスルーエラーメッセージのみ.. – MDP

関連する問題