如何从angularjs和ionic发送数据到php

时间:2017-03-31 15:18:36

标签: php angularjs ionic-framework angular-http

我是一个有角度的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合作。谢谢你的关注!

2 个答案:

答案 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字符串文本发送。