使用post方法将空数据发送到php的angular js

时间:2017-07-03 19:01:59

标签: javascript php angularjs xampp

我正在制作一个测试应用程序来测试角度和php数据传输。 但是angular通过post方法发送数据,但php不接受数据

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
    <script 

src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js">
    </script>
</head>
<body ng-app="myApp">
<div ng-controller="myctrl">
 <form ng-submit="insert()">
   <input type="text" ng-model="name" name="name" placeholder="name">
   <input type="age" ng-model="age" name="age" placeholder="age">
   <button type="submit">Submit</button>
 </form>
</div>
<script type="text/javascript">
var app = angular.module('myApp',[]);
app.controller('myctrl',function($scope,$http){    


    $scope.insert=function(){    

        $http.post("test.php", {
            'name':$scope.name,
            'age':$scope.age
        }).then(function(response){
                console.log(response);
            },function(error){
                alert("Sorry! Data Couldn't be inserted!");
                console.error(error);

            });
        }
    });
 </script>
</body>
</html>

这是html代码 php代码是

<?php


    $data = json_decode(file_get_contents('php://input'));
    $place=$data->name;
    $image=$data->age;
    echo $place;
    echo $image;
    echo "string";
?>

当我访问这些名称并使其年龄时,将错误视为


注意:尝试在 5 C C:\ xampp \ htdocs \ test \ test.php 中获取非对象的属性>
注意:尝试在 6 C C:\ xampp \ htdocs \ test \ test.php 中获取非对象的属性> 字符串“

但有角度的是发送数据 数据:对象 年龄: “2” 名称: “ABCD” 无法确定问题所在。

1 个答案:

答案 0 :(得分:0)

向php发出正确的帖子请求的一种方法是通过$ httpParamSerializerJQLike,

所以你可以发这样的帖子:

var data = {
        'name':$scope.name,
        'age':$scope.age
    };
var req = {
      method : "POST",
      url: "http://yourUrl",
      data: $httpParamSerializerJQLike(data),
      headers: {
        'Content-Type': "application/x-www-form-urlencoded"
      }
    };
 $http(req).then(function(resp){//success}).catch(function(error){//error});