我希望使用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中的记录?
答案 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请求发送到服务器非常有用: