使用angularjs将记录插入mysql数据库

时间:2012-08-23 10:00:13

标签: php angularjs

我希望使用angularjs在mysql表中插入记录。 表:产品 product_id,名称,描述。

我希望有两个文本字段和一个保存按钮,并且单击保存按钮记录应该插入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()方法以及我应该在其中写什么?

如何在angularjs中添加mysql中的记录?

3 个答案:

答案 0 :(得分:1)

AngularJS是一个客户端MV *框架。大多数客户端框架都期望关于DOM操作的决定留给他们,他们只是从服务器端提供数据。

在您的情况下,此数据将存储在MySQL中,您必须通过PHP检索并为您的数据库编写一个简单的RESTful接口。在你的角度代码中,假设您的PHP restful端点类似于

http://mywebsite.com/api/product

如果您通过ng-resource进行简单的POST调用,则相当于在数据库中进行保存。有关如何进行此设置的详细信息,您可以查看一些浮动的ng-resource示例。

答案 1 :(得分: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" />

您需要使用PHP代码为/api/products定义REST API,$http.post方法将json发送到服务器

答案 2 :(得分:0)

很难给出ganaraj解释的完整代码,因为它涉及服务器和客户端代码。

在客户端,您应该在控制器中编写一个saveProduct()函数/方法...从那里您可以直接发送HTTP请求(例如使用$ http对象,内置于angularJS)或编写Angular Service将使用$ http或$ resource发送请求(我个人觉得$ http更容易理解)。然后必须在控制器中注入服务,以便控制器可以调用其(服务)saveProduct()方法。

您确实需要的是服务器端的REST接口/ Web服务API。一个网络服务&#34;采取&#34;传入的HTTP请求,然后执行某种服务器端功能,将实际的SQL语句发送到您的数据库以保存产品。

通常没有SQL代码直接从客户端发送到服务器。事实上,我甚至不确定这是否可能......你需要一些&#34;介于&#34;使用Java时,像JDBC这样的软件,以使您的编程语言与数据库通信。据我所知,AngularJS不存在任何类型,因为常用的架构/设计模式是使用REST服务/ Web服务API。

如果您在服务器端使用PHP,以下链接可能对您有所帮助(它解释了如何设置简单的REST API):

creating simple REST API using PHP

我发现此链接对于如何实现Controller和Service以将HTTP请求发送到服务器非常有用:

Posting Form Data With $http In AngularJS