检查在使用AngularJS$http时php插入是否成功
Check if php insert was successful when using AngularJS $http
我是AngularJS的初学者,但我刚刚学会了如何使用$http
服务将POST数据传递到PHP文件以插入数据库。
这是我的add.php文件。它显示我的表单,底部有插入代码块:
<h2>Add Car</h2>
<div ng-controller="formCtrl">
<form method="POST">
<label>Make:</label>
<select ng-model="car.make">
<option>Make 1</option>
<option>Make 2</option>
<option>Make 3</option>
</select>
<label>Model:</label>
<input type="text" ng-model="car.model">
<input type="submit" ng-click="addCar(car)">
</form>
<pre>
{{message}}
</pre>
</div>
<?php
$data = json_decode(file_get_contents("php://input"));
$make = $data->make;
$model = $data->model;
$con = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'pass');
$stmt = $con->prepare("INSERT INTO cars (model, make) VALUES(?, ?)");
$stmt->bindParam(1, $model);
$stmt->bindParam(2, $make);
$stmt->execute();
?>
这是我的控制器:
app.controller('formCtrl', function ($scope, $http) {
$scope.addCar = function (car) {
$http({
method: 'POST',
url: 'tools/add.php',
data: car,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
})
.then(function (response) {
$scope.message = "great!";
});
}
});
现在有没有检查插入是否成功?我知道你可以使用rowCount()
函数在PHP端进行检查,然后将你的消息设置为错误或成功插入,但我想知道我的JS是否可以知道是否真的插入了一行。
检查插入是否成功:
if ($stmt->execute()) {
// It worked
} else {
// It didn't
}
为什么不在PHP中添加die('Not successful');
之类的内容呢。然后获取角度以检查是否提供了错误消息:
$http({
method: 'POST',
url: 'tools/add.php',
data: car,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
})
.then(function (response) {
if(!response) {
// Success
$scope.message = "great!";
} else {
// Fail
alert(response);
}
});
别忘了,你也可以在Angular中使用.success()
和.error()
。
最后一件事!我发现,将JSON请求文件与部分文件分开,使一切都更容易管理。上面的解决方案不起作用,因为HTML数据在到达JSON之前就已经发送了!
相关文章:
- 使用PHP插入HTML在JavaScript上不起作用
- 使用Mysqli、PHP和AJAX的聊天系统正在将空白消息插入数据库
- PHP使用子窗口中的单选按钮确定从子窗口向父窗口文本区域插入什么
- 如何使用DOMDocument将PHP变量插入javascript部分
- 可以't通过JQUERY传递PHP变量并将它们插入MYSQL
- PHP MySQL 在一个页面和一个查询中插入具有多行的数据
- AJAX PHP 连接将行插入数据库
- 多行 PHP MySQL 插入
- jQueryAjax:从php插入数据
- PHP-插入数据库而不刷新页面(OOP)
- 如何将 JS 鼠标坐标获取到 PHP 插入查询中
- 动态变量从 PHP 插入到 DOM 中.在将该变量从 DOM 传递到 Javascript 时遇到问题
- 使用 Ajax 和 PHP 插入和更新页面而无需重新加载
- 检查在使用AngularJS$http时php插入是否成功
- 如何将PHP插入jQuery
- 将php插入到javascript片段中
- 触发对PHP插入查询发出警报
- 把& lt; br>使用javascript(不是php)插入换行符
- 如何通过 AJAX 将 PHP 插入 jquery append
- 如何使用Javascript将PHP插入到网页中