使用Angular和PHP的POST请求

时间:2017-01-09 14:00:12

标签: javascript php angularjs

所以我的问题是用PHP使用angular和post方法将数据发送到服务器。 在服务器端单击提交按钮时,它会添加新ID作为主键。但输入的价值不会发送。谢谢你的帮助。

我的html文件

<h1>{{name}}</h1>
<h1 id="number" ng-click="getNumber(1)">0</h1>
<form on-submit="addNew()">
    <input type="text" ng-model="formModel.text" id="text" name="text"/>
    <button ng-click="addNew()">Add new text</button>
</form>

Angular文件

app.controller('newCtrl', ['$scope','$http',function($scope,$http){
    $scope.name = "Nikson";
    document.getElementById('title').style.display = "none";

    $scope.formModel = {};
    $scope.addNew = function() {
        console.log("Submited");
        console.log($scope.formModel);

        $http.post('post.php', $scope.formModel).
        success(function(data){
            console.log("ok")
        }).error(function(data){
            console.log("err");
        });
    };
}]);

最终的PHP文件

$conn = mysqli_connect('localhost','nemkeang','nemkic23', 'recs');

if(!$conn) 
    die("Error");

$text = $_POST['text'];

$sql = "INSERT INTO images (text)
VALUES ('$text')";

if (!mysqli_query($conn,$sql)) {
    die('Error: ' . mysqli_error($conn));
}
echo "success";

mysqli_close($con);

1 个答案:

答案 0 :(得分:0)

要在PHP中接收文本,您需要从请求正文中获取它。所以试试这个:

<?php
$input = json_decode(file_get_contents('php://input'), true);
$text = $input["text"]
// ...