0

私はangularjsを使用してmysqlテーブルにレコードを挿入したいと思います。表:製品product_id、名前、説明。

2つのテキストフィールドと保存ボタンが必要です。保存ボタンをクリックすると、レコードがmysqlテーブルに挿入されます。私は次のリンクを参照しました:

しかし、すべて無駄です...

index.html

    <html ng-app>
    <head>
        <script src="../angular-1.0.1.min.js"></script>
        <script src="js/controllers.js"></script>
    </head>
    <body>
    <ul ng:controller="ProductListCtrl">
        <li ng:repeat="product in products">
            {{product.name}}
        </li>
    </ul>
    <form method = 'post'>
        Name : <input type = 'text' name = 'txtName'/>
        Description : <input type = 'text' name = 'txtDescription'/>
        <button ng:click="saveProduct()">New Product</button>
        <div id="content">
            <ng:view></ng:view>
        </div>
    </form>
    </body>
</html>

saveProduct()メソッドはどこに記述すればよいですか?また、何を書き込む必要がありますか?

mysqlにangularjsからレコードを追加するにはどうすればよいですか?

4

3 に答える 3

1

AngularJS は、クライアント側の MV* フレームワークです。ほとんどのクライアント側フレームワークは、DOM 操作に関する決定は自分たちに委ねられ、サーバー側からデータが供給されるだけであると想定しています。

もちろん、このデータはMySQLに保存され、PHPを介して取得し、DBに単純なRESTfulインターフェースを書き込む必要があります。Angular コードで、PHP の安らかなエンドポイントが次のようになるとします。

http://mywebsite.com/api/product

ng-resource を介して単純な POST 呼び出しを行う場合、DB を保存することと同じです。これを設定する方法の詳細については、いくつかの ng-resource の例を参照してください。

于 2012-08-23T10:20:03.933 に答える
1

製品の保存メソッドには、次のようなメソッドが含まれている必要があり$http.postます

$http.post('/api/products', $scope.form).

次のようにhtmlでフォームを定義します

<input ng-model="form.txtName" type="text" name="txtName" /> <input ng-model="form.txtDescription" type="text" name="txtDescription" />

メソッドがjsonをサーバーに送信する/api/productsPHPコードを使用するには、REST APIを定義する必要があります$http.post

于 2014-09-02T09:47:16.183 に答える
0

サーバー側とクライアント側のコードが関係するため、ganaraj が説明する内容の完全なコードを提供することは困難です。

クライアント側では、コントローラーに saveProduct() 関数/メソッドを記述する必要があります...そこから、HTTP リクエスト (たとえば、angularJS に組み込まれている $http オブジェクトを使用) を直接送信するか、Angular Service を記述することができます。 $http または $resource を使用してリクエストを送信します (個人的には、$http の方が少し理解しやすいと思います)。次に、コントローラーがその (サービスの) saveProduct() メソッドを呼び出せるように、サービスをコントローラーに注入する必要があります。

絶対に必要なのは、サーバー側の REST インターフェイス / Web サービス API です。Web サービスは受信 HTTP 要求を「取得」し、製品を保存するために実際の SQL ステートメントをデータベースに送信するある種のサーバー側機能を実行します。

通常、クライアントからサーバーに直接送信される SQL コードはありません。実際、これが可能かどうかさえわかりません...プログラミング言語をデータベースと通信させるために、Javaを使用する場合、JDBCのような「中間」のソフトウェアが必要になります。私が知る限り、一般的に使用されるアーキテクチャ/設計パターンは REST サービス/Web サービス API を使用するため、AngularJS にはそのようなものは存在しません。

次のリンクは、サーバー側で PHP を使用する場合に役立ちます (単純な REST API のセットアップ方法が説明されています)。

PHP を使用して単純な REST API を作成する

HTTPリクエストをサーバーに送信するためにコントローラーとサービスを実装する方法について、このリンクが役立つことがわかりました。

AngularJS で $http を使用してフォーム データを投稿する

于 2014-09-02T09:29:25.450 に答える