2017-11-23 14 views
0

私はangularjsを初めて使用しました。データベースに詳細を保存できませんでした。ブラウザには出力が保存されているようですが、PostgreSQLではデータを保存していません。私はここから2日後に打ちました。誰でもこのコードを教えてくれますか? 問題は、主にデータベースへのAjax呼び出しが原因だと思います。ここにコードの一部があります。私はすべての可能性を試しましたが、到達することはできませんでした。これのための解決策は何ですか。PostgresqlへのAngularjs ajax呼び出しが機能しない

 > **Default.aspx** 

      <div data-ng-app="myApp" data-ng-controller="myCntrl"> 
        <table> 
         <tr> 
          <td> 
           Student ID : 
          </td> 
          <td> 
           <input type="number" id="noStudentID" data-ng-model="studetnNo" /> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           Student Name : 
          </td> 
          <td> 
           <input type="text" id="txtStudentName" data-ng-model="studetnName" /> 
          </td> 
         </tr> 
         <tr> 
          <td colspan="2" data-align="center"> 
           <input type="button" value="Save" data-ng-click="Save()" /> 
          </td> 
         </tr> 
        </table> 
     <script> 
       var app = angular.module("myApp",[]) 
    app.controller("myCntrl",function($scope,$http) 
    { 
     $scope.studetnNo=""; 
     $scope.studetnName=""; 
     $scope.Save = function() { 
      var httpreq = { 
       method: 'POST', 
       url: 'Default.aspx/Save', 
       headers: { 
        'Content-Type': 'application/json; charset=utf-8', 
        'dataType': 'json' 
       }, 
       data: { 
        StudentID: $scope.studetnNo, 
        StudentName: $scope.studetnName 
       } 
      }; 
      $http(httpreq).success(function (response) { 
       $scope.fillList(); 
       alert("Saved Succefully"); 
      }); 

     }; 
    }); 
    </script> 

    > Default.aspx.cs 
    [System.Web.Services.WebMethod()] 
     public static void Save(int StudentID,string StudentName) 
     { 
      using (NpgsqlConnection con = new NpgsqlConnection(@"Server=10.0.5.22;Port=5432;Database=TEST_DB;User Id=postgres;Password=test;")) 
      { 
       using (NpgsqlCommand cmd = new NpgsqlCommand()) 
       { 
        cmd.Connection = con; 
        cmd.CommandText = "insert into student1(StudentID,StudentName)values(@StudentID,@StudentName);"; //DB table name and columns are correct 
        cmd.Parameters.AddWithValue("@StudentID", StudentID); 
        cmd.Parameters.AddWithValue("@StudentName", StudentName); 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
       } 
      } 
     } 
+0

交換してください。 with、 'Content-Type'行: 'application/json; – Vivz

+1

"、"で置き換えた後も動作しません。 –

+0

どのバージョンのangularjsを使用していますか? – Vivz

答えて

0

角度スクリプトで構文が正しくありませんでした( 'が見つかりません')。試してみてください:

var app = angular.module("myApp",[]) 
app.controller("myCntrl", function($scope,$http) 
{  
    $scope.studetnNo = ""; 
    $scope.studetnName = ""; 

    $scope.Save = function() 
    { 
     var httpreq = { 
      method: 'POST', 
      url: 'Default.aspx/Save', 
      headers: { 
       'Content-Type': 'application/json; charset=utf-8', 
       'dataType': 'json' 
      }, 
      data: { 
       StudentID: $scope.studetnNo, 
       StudentName: $scope.studetnName 
      } 
     }; 
     $http(httpreq).success(function(response) 
     { 
      $scope.fillList(); 
      alert("Saved Succefully"); 
     }); 
    } 
}; 
+1

また動作しない –

+0

[postman](https://www.getpostman.com/)のようなプログラムでhttpエンドポイントを呼び出そうとしますか?あなたが呼び出しているhttp:// host:port/Default.aspx/Saveが正しいことを確認するだけです。 – Marcus

関連する問題