Как отправить данные в php от angularjs и ionic

Я начинающий, и сейчас пытаюсь сохранить некоторые данные в базе данных с помощью службы $ 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 url.
Я работаю с Ionic. Спасибо за внимание!

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)
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.

0

По вопросам рекламы [email protected]