angular 当我使用 http 时,js 一直显示未定义的值 post

angular js keep showing me undefined value when i use http post

我正在尝试使用 Post 将值传递给 php 文件,当我这样做时,我想从 php 读取值作为 json它一直告诉我它是未定义的。不知道哪里错了

这是我的 angular.js 代码

var myApp = angular.module("myApp", []);
myApp.controller("mainController",['$scope','$http','$interval', function($scope, $http, $interval) {
  var url = "user_check.php";

  $scope.lost = "well doe";
  var val = "come on ";
  $interval(function(){
  $http.post(url,{val:val})
    .success(function(data) {
      console.log(data.name);
    })  
    .error(function(data) {

    });

  },0.4)
}]);

这是我的 php 文件

<?php 
if(isset($_POST['val '])){
$data['name']="rose";

    echo json_encode($data);
}
?>

来自文档:

$_POST

An associative array of variables passed to the current script via the HTTP POST method when using application/x-www-form-urlencoded or multipart/form-data as the HTTP Content-Type in the request.

PHP Manual - Reserved variable - $_POST

AngularJS 框架使用 application/json 作为 HTTP 内容类型进行 POST 请求。

改为使用:1

$data = json_decode(file_get_contents('php://input'), true);

有关详细信息,请参阅