猿问

当我使用http发布时,角度js不断向我显示未定义的值

我正在尝试使用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);

}

?>


慕村225694
浏览 135回答 1
1回答

临摹微笑

从文档中:$ _POST在请求中使用application/x-www-form-urlencoded或multipart/form-data作为HTTP Content-Type时,通过HTTP POST方法传递给当前脚本的变量的关联数组。—&nbsp;PHP手册-保留变量-$ _POSTAngularJS框架使用application/jsonHTTP Content-Type进行POST请求。改为使用:1$data&nbsp;=&nbsp;json_decode(file_get_contents('php://input'),&nbsp;true);有关更多信息,请参见PHP手册-支持的包装器和协议-php://PHP手册-函数参考-file_get_contentsPHP手册-函数参考-json_decode
随时随地看视频慕课网APP
我要回答