我是一个有角度的begginer,我目前正在尝试使用$ http()服务在数据库中保存一些数据,但它不起作用。请问你能帮帮我吗?这就是我想要做的事情:
形式:
<form name="form">
<input ng-model="model.text" type="text" name="text">
<button class="button" ng-click="saveData()"> Save </button>
</form>
该页面的控制器:
.controller('pagCtrl', function ($scope, $http) {
$scope.saveData = function () {
$http ({
url : 'http://localhost/prueba/www/php/enviar_datos.php',
method : 'POST',
data : { text : $scope.form.text.value }
}).then (function (response) {
}, function (response) {
});
}
})
PHP:
<?php
$link = mysqli_connect("localhost", "root", "", "testDB");
if (mysqli_connect_errno()) {
die("Error de conexión: " . mysqli_connect_error());
}
mysqli_set_charset($link, 'utf8');
mysqli_query($link, "INSERT INTO tabla_prueba (texto) VALUES ('" . $_POST['text'] . "')");
mysqli_close($link);
?>
我认为问题是它无法正确连接到php网址。 我正在和Ionic合作。谢谢你的关注!
答案 0 :(得分:0)
添加$scope.form.text={}
并在您的js中
data:$.param($scope.form.text);
并删除ng-click
格式ng-submit
中的ng-submit="saveData()"
按钮
所以你应该重命名模型。很难读懂。
ng-model="formData.text"
和js
$scope.formData ={}
data:$.param($scope.formData)
答案 1 :(得分:0)
使用ng-model
属性定义的变量。
<form name="form">
<input ng-model="model.text" type="text" name="text">
<button class="button" ng-click="saveData()"> Save </button>
</form>
app.controller('pagCtrl', function ($scope, $http) {
//INITIALIZE model object
$scope.model = {};
$scope.saveData = function () {
$http ({
url : 'http://localhost/prueba/www/php/enviar_datos.php',
method : 'POST',
//data : { text : $scope.form.text.value }
//POST model object
data: $scope.model
}).then (function successHandler(response) {
}, function rejectHandler(response) {
});
}
})
可以轻松添加更多输入而无需更改控制器:
<form name="form">
<input ng-model="model.text" type="text" name="text">
<input ng-model="model.name" type="text" name="name">
<input ng-model="model.id" type="text" name="id">
<button class="button" ng-click="saveData()"> Save </button>
</form>
所有输入都将被序列化并作为JSON字符串文本发送。