2016-07-26 9 views
0

[OK]をので、私は以下のようにプロファイル設定]ページがあります。角度 - ポストボタンを押すとページを更新する方法は?

<form action="/profileSettings" method="post"> 
     Full Name:<br> 
     <input type="text" name="fullname" value='{[user.fullname]}'><br> 
     About:<br> 
     <input type="text" name="about" value='{[user.about]}'><br> 
     Birthday:<br> 
     <input type="text" name="birthday" value='{[user.birthday]}'><br> 
     E-mail:<br> 
     <input type="text" name="email" value='{[user.email]}'><br> 
     Location:<br> 
     <input type="text" name="location" value='{[user.location]}'><br> 
     <input type="submit" value="Submit"> 
</form> 

以下のようにデータは、角度コントローラを介してそれに戻って渡されます/ API /ユーザーが戻ったばかりのチャック

mainApp.controller('profileController', ['$scope', '$http', function($scope, $http){ 
    $scope.user = ''; 

    $http.get('/api/user', {params: { id: idFromSomewhere }}) 
     .success(function(res){ 
      $scope.user = res.user; 
     }) 
     .error(function(data, status){ 
      console.log(data); 
     }); 
}]); 

私がそれをやったときに "プロフィールが更新されました"という返事があります。私がしたいことは:

  • プロファイル情報を更新するボタンを使ってポストコールを行います。この半作品は動作しますが、手動でページを更新して更新情報を確認する必要があります。
  • 「投稿が更新されました」というレスポンスを処理します。このレスポンスをサイト上でアニメートする必要があります。これについてはまだ考えていない。
  • [プロファイル設定]ページに更新された情報を表示します。

非常に一般的なもののようであり、ネイティブにAngularのものが必要です。

すべての入力は、人を助けるでしょう。 おかげで、 Shayan

答えて

1

はNG-提出 を使用してみてください、それが戻ってサーバーにデータを送信し、現在のページを再読み込みします、あなたはここで https://docs.angularjs.org/api/ng/directive/ngSubmit

+0

ng-submitソリューションのおかげで - これは私にとってはうまくいくと思います。私はそれにショットを与え、ここで皆を更新します。また、「あなたの投稿は更新されました」というアイデアはありますか? –

+0

さんはあなたの質問をしていませんでしたか? –

+0

正式に私が正式に質問する前にそれについて考えてみましょう:) - とにかく助けてくれてありがとうございます –

2

を参照を確認することができますが、単純に自分のget呼び出しを置くことができます機能とあなたがget関数を呼び出すことができ呼んであなたのポストの成功を...更新された値は、実際にページをリロードまたはリフレッシュすることなく反映されます。..

$scope.func=funtion(){ 
    $http.get('/api/user', {params: { id: idFromSomewhere }}) 
      .success(function(res){ 
       $scope.user = res.user; 
      }) 
      .error(function(data, status){ 
       console.log(data); 
      }); 
} 

とあなたのポストOG成功コールバックに...あなた呼び出すことができますこれはこのようなメソッドを取得します。

$http.post(...).success(function(){ 
$scope.func(); 
} 
関連する問題