角度を使用してフォームデータをサーバーに送信するにはどうすればよいですか?

キムスタックス

現在、サーバー側のフレームワークCakePHPを使用してアプリを構築しています。

Angularをアプリに統合する必要があります。

現在、私は以下の入力を送信します

User.old_passwordUser.new_passwordUser.new_password_confirm

/mypasswords/newPOSTを使用してこのURLに

これは問題なく機能します。

サーバー側にデータを送信するには、Angularのサービスを使用する必要があることを理解しています。

これはこれまでの私のAngularコードです。

var app = angular.module("myApp", []);

app.controller('passwordController', ['$scope', function($scope) {
  $scope.submitted = false;
  $scope.changePasswordForm = function() {
    if ($scope.change_password_form.$valid) {
      // Submit as normal
    } else {
      $scope.change_password_form.submitted = true;
    }
  }
}]);

services = angular.module('myApp.services', ['ngResource']);

services.factory("UserService", function($http, $q) {
  var service;
  // service code here
});

それで、私はその//service code here部分に何を書きますか?他にどのような部分が欠けていますか?

私のフォームは現在、レンダリングされた後、htmlとしてこのように見えます。(フォームからアクションとメソッドの属性を削除する必要があることはわかっています。そうしますか?)

<form action="/mypasswords/new" id="change_password_form" name="change_password_form" ng-controller="passwordController" ng-submit="changePasswordForm()" method="post" accept-charset="utf-8" class="ng-scope ng-pristine ng-valid">

<div style="display:none;"><input type="hidden" name="_method" value="POST"></div>            

<input name="data[User][old_password]" id="u56" placeholder="Enter old password..." class="u56 profile_input" type="password">
<input name="data[User][new_password]" id="u57" placeholder="Enter new password..." class="u57 profile_input" type="password">
<input name="data[User][new_password_confirm]" id="u58" placeholder="Enter new password..." class="u58 profile_input" type="password">
<div id="u25" class="u25_container">
    <div id="u25_img" class="clear_all_button detectCanvas" onclick="document.getElementById('change_password_form').reset()">
     </div>
</div>

<div id="u27" class="u27_container">
    <input id="u27_img" class="submit_button detectCanvas" type="submit" value="SAVE">                         

</div>
</form>

ありがとうございました。

キムスタックス

ステップ1:CakePHPでFormHelperの代わりに通常のhtmlを使用してフォームを書く

フォームは次のようになります。

<form name="change_password_form" ng-controller="passwordController"
         ng-submit="changePasswordForm()">

        <input name="data[User][old_password]" ng-model="data.User.old_password" type="password" placeholder="Enter old password..." class="u56 profile_input">
        <input name="data[User][new_password]" ng-model="data.User.new_password" type="password" placeholder="Enter new password..." class="u57 profile_input">
        <input name="data[User][new_password_confirm]" ng-model="data.User.new_password_confirm" type="password" placeholder="Enter new password again..." class="u58 profile_input">

            <div id="u25"
                 class="u25_container">
                <div id="u25_img"
                     class="clear_all_button detectCanvas" onclick="document.getElementById('change_password_form').reset()">
                </div>
            </div>

            <div id="u27"
                 class="u27_container">
                <button type="submit" id="u27_img" ng-click="debug()"
                     class="submit_button detectCanvas" />
            </div>
        </form>

ステップ2:次の方法でapp.jsを記述します。

CakePHPを使用する場合は、X-Requested-Withヘッダーが重要です。 $this->request->is('ajax')

angular.module("myApp", [])
.controller('passwordController', function($scope, $http) {
  $scope.changePasswordForm = function() {
    console.log('change passwrd form activated');
    //note: use full url, not partial....
    $http({
        method  : 'POST',
        url     : '/mypasswords/new',
        data    : $.param($scope.data),  // pass in data as strings
        headers : { 'Content-Type': 'application/x-www-form-urlencoded',
        'X-Requested-With' : 'XMLHttpRequest'
        }  // set the headers so angular passing info as form data (not request payload)
    })
    .success(function(data, status, headers, config) {
        //do anything when it success..
        console.log('works!');
      })
    .error(function(data, status, headers, config){
        //do anything when errors...
        console.log('errors!');
    });
  }
  $scope.debug = function () {
   console.log($scope);
  }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

一度に複数のフォームデータをangularjsを使用してサーバーに送信するにはどうすればよいですか?

分類Dev

角度リソース保存メソッドでIDを使用して「フォームデータ」を送信するにはどうすればよいですか?

分類Dev

RailsでHTMLフォームデータをメールとして送信するにはどうすればよいですか?(宝石を使用せずに)

分類Dev

jqueryバリデーターを使用して、フォームを送信する前にファイルがアップロード用に選択されているかどうかを検証するにはどうすればよいですか?

分類Dev

PHPを使用してフォームデータをメッセージとして送信するにはどうすればよいですか?

分類Dev

クライアント側からサーバーにフォームデータを送信するにはどうすればよいですか

分類Dev

フォームに情報を送信した後、SetStateを使用してデータを取得するにはどうすればよいですか?

分類Dev

Flutterを使用してサーバーMySQLにデータSQLite(オフライン)を送信するにはどうすればよいですか?

分類Dev

nativescriptのfetchを使用してフォームデータをphpに送信するにはどうすればよいですか?

分類Dev

react-hook-form inreactを使用してフォームデータを状態に送信するにはどうすればよいですか?

分類Dev

AJAXを使用して返信用に個別のフォームデータを送信するにはどうすればよいですか?

分類Dev

Djangoでhrefを使用してフォームを送信するにはどうすればよいですか?

分類Dev

フォームを送信してグーグルマップマーカーからデータを取得するにはどうすればよいですか?

分類Dev

MonoTouchを使用してiOSのPOSTリクエストでフォームデータを送信するにはどうすればよいですか?

分類Dev

jQueryからPHPにフォームデータを送信するにはどうすればよいですか?

分類Dev

ループフォームを使用してデータ行を保存してdjangoにデータを保存するにはどうすればよいですか?

分類Dev

jqueryなしでajaxを使用してノードサーバーにデータを送信するにはどうすればよいですか?

分類Dev

JavaScriptを使用してフォームを送信するにはどうすればよいですか?

分類Dev

onclickを使用してRailsAJAXフォームを送信するにはどうすればよいですか?

分類Dev

vue.js 2を使用してフォームを送信するにはどうすればよいですか?

分類Dev

JQueryとCakePHPを使用してフォームを送信するにはどうすればよいですか?

分類Dev

uiフォームをmysqlに接続し、uiフォームを使用してデータを挿入するにはどうすればよいですか?

分類Dev

送信時にフォームデータを変更するにはどうすればよいですか?

分類Dev

list <object>をモデルにバインドし、他のフォームデータと一緒に送信するにはどうすればよいですか?

分類Dev

React NativeとAxiosでフォームデータを送信するにはどうすればよいですか?

分類Dev

フォームとビューを使用してdjango動的フォームセットデータを保存するにはどうすればよいですか?

分類Dev

バリデーターを動的に作成してフォームグループにバインドするにはどうすればよいですか?

分類Dev

フォームを使用してH2データベースにデータを挿入するにはどうすればよいですか

分類Dev

角度6のリアクティブフォームを使用して別のFormControlでFormDataを送信するにはどうすればよいですか?

Related 関連記事

  1. 1

    一度に複数のフォームデータをangularjsを使用してサーバーに送信するにはどうすればよいですか?

  2. 2

    角度リソース保存メソッドでIDを使用して「フォームデータ」を送信するにはどうすればよいですか?

  3. 3

    RailsでHTMLフォームデータをメールとして送信するにはどうすればよいですか?(宝石を使用せずに)

  4. 4

    jqueryバリデーターを使用して、フォームを送信する前にファイルがアップロード用に選択されているかどうかを検証するにはどうすればよいですか?

  5. 5

    PHPを使用してフォームデータをメッセージとして送信するにはどうすればよいですか?

  6. 6

    クライアント側からサーバーにフォームデータを送信するにはどうすればよいですか

  7. 7

    フォームに情報を送信した後、SetStateを使用してデータを取得するにはどうすればよいですか?

  8. 8

    Flutterを使用してサーバーMySQLにデータSQLite(オフライン)を送信するにはどうすればよいですか?

  9. 9

    nativescriptのfetchを使用してフォームデータをphpに送信するにはどうすればよいですか?

  10. 10

    react-hook-form inreactを使用してフォームデータを状態に送信するにはどうすればよいですか?

  11. 11

    AJAXを使用して返信用に個別のフォームデータを送信するにはどうすればよいですか?

  12. 12

    Djangoでhrefを使用してフォームを送信するにはどうすればよいですか?

  13. 13

    フォームを送信してグーグルマップマーカーからデータを取得するにはどうすればよいですか?

  14. 14

    MonoTouchを使用してiOSのPOSTリクエストでフォームデータを送信するにはどうすればよいですか?

  15. 15

    jQueryからPHPにフォームデータを送信するにはどうすればよいですか?

  16. 16

    ループフォームを使用してデータ行を保存してdjangoにデータを保存するにはどうすればよいですか?

  17. 17

    jqueryなしでajaxを使用してノードサーバーにデータを送信するにはどうすればよいですか?

  18. 18

    JavaScriptを使用してフォームを送信するにはどうすればよいですか?

  19. 19

    onclickを使用してRailsAJAXフォームを送信するにはどうすればよいですか?

  20. 20

    vue.js 2を使用してフォームを送信するにはどうすればよいですか?

  21. 21

    JQueryとCakePHPを使用してフォームを送信するにはどうすればよいですか?

  22. 22

    uiフォームをmysqlに接続し、uiフォームを使用してデータを挿入するにはどうすればよいですか?

  23. 23

    送信時にフォームデータを変更するにはどうすればよいですか?

  24. 24

    list <object>をモデルにバインドし、他のフォームデータと一緒に送信するにはどうすればよいですか?

  25. 25

    React NativeとAxiosでフォームデータを送信するにはどうすればよいですか?

  26. 26

    フォームとビューを使用してdjango動的フォームセットデータを保存するにはどうすればよいですか?

  27. 27

    バリデーターを動的に作成してフォームグループにバインドするにはどうすればよいですか?

  28. 28

    フォームを使用してH2データベースにデータを挿入するにはどうすればよいですか

  29. 29

    角度6のリアクティブフォームを使用して別のFormControlでFormDataを送信するにはどうすればよいですか?

ホットタグ

アーカイブ