2017-07-13 10 views
1

みなさんこんにちは。 KnockoutJsを使用してデータをSQLデータベースに保存する正しい方法を使用する方法について質問があります。レコードはテーブルによく表示されます。それは、このポップアップモーダルを介してデータを保存することができるはずです。しかし、そのモーダルでCreateボタンをクリックすると、失敗したMessageだけがポップアップされます。誰でもこの問題を解決するために私を助けてもらえますか?どうもありがとうございました。以下は KnockoutJSを使用してSQLデータベースにデータを保存する方法は?

  • は以下

     var data = ko.toJSON(self.Profiles()); 
         $.ajax({ 
          type: 'POST', 
          url: '/ajaxCall/insertProAjax', 
          data: "{ Customer:" + ko.utils.stringifyJson(self.Name) + ",customerRemove:" + ko.utils.stringifyJson(self.CustomerRemove) + "}", 
          contentType: "application/json", 
          success: function (data) { 
           alert("Record has been saved Successfully"); 
           MarkCustomerAsSaved(); 
           $('#AddNewModel').modal('hide'); 
          }, 
          error: function() { 
           alert("Failed"); 
          } 
         }).fail(function (xhr, textStatus, err) { alert(err); }); 
    
  • はViewModelにからの抽出物についての保存機能で保存機能についてメインのjsファイルからの抜粋です

    var Customer = {}; 
        Customer.Id = c.Id; 
        Customer.Name = c.Name; 
        Customer.Age = c.Age; 
        Customer.Address = c.Address; 
        if (isNewRecord === false) { 
         $.ajax({ 
          type: "PUT", 
          url: "/api/CustomerAPI/" + c.Id, 
          data: Customer 
         }) 
          .done(function (resp) { 
           self.Message("Record Updated Successfully "); 
           self.reset(); 
          }) 
          .fail(function (err) { 
           self.Message("Error Occures, Please Reload the Page and Try Again " + err.status); 
           self.reset(); 
          }); 
        } 
        if (isNewRecord === true) { 
         isNewRecord = false; 
         $.ajax({ 
          type: "POST", 
          url: "/api/CustomerAPI", 
          data: Customer 
         }) 
          .done(function (resp) { 
           self.Message("Record Added Successfully "); 
           self.reset(); 
           loadData(); 
          }).fail(function (err) { 
           self.Message("Error Occures, Please Reload the Page and Try Again " + err.status); 
           self.reset(); 
          }); 
        } 
    
+0

'$ .ajax'は' data'を望んでいます。あなたは 'Data'を与えています。それらは同じではありません。 – Amadan

+0

詳細を教えてください。私は初心者です、ちょうど1週間knockoutJsを学ぶ。ありがとうございました。 – Auck

+0

コメントはノックアウト関連ではありませんでした。 JavaScriptでは大文字と小文字が区別されるため、JavaScriptのオブジェクトキーも同様です。 'data'と' Data'は2つの異なるキーです。 jQueryの 'ajax'関数は' type'、 'url'、' contentType'と 'success'を期待し、' Type'、 'URL'、' ContentType'や '' ContentType''ではなく、 'data'が小文字で始まることを期待しています。成功。 – Amadan

答えて

0

ノックアウトとJavascript(この中方法)がクライアント側で処理されています。データペイロードを受け入れてデータベースに保存するには、バックエンドに何かを作成する必要があります。 JavaScriptファミリーに滞在したい場合は、 node.jsをお勧めします。あるいは、これはphpやC#が動作する場所です。

+0

はい、私はそれを参照してください、バックエンドのC#ファイルをサーバー側をサポートするために追加する必要があります。私に思い出させていただきありがとうございます。 – Auck

関連する問題