2015-05-04 71 views
0

我有問題與角發送後JSON數據,從PHP角JS問題,我需要訪問$ _ POST [ '行動']

這工作

$http({ 
       method: 'POST', 
       url: ajaxurl, 
       data: "action=get_employer_jobs", 
       headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
      }).success(function (data) { 
       console.log(data); 
       $scope.jobs = data; 
      }); 

這確實不工作

app.controller('MainController', ['$scope', '$http', function ($scope, $http) { 
      console.log('MainController Running'); 
      $http({ 
       method: 'POST', 
       url: ajaxurl, 
       data: JSON.stringify({action:"get_employer_jobs"}), 
       headers: {'Content-Type': 'application/json'} 
      }).success(function (data) { 
       console.log(data); 
       $scope.jobs = data; 
      }); 
     }]); 

回答

0

您需要在服務器端以不同方式處理您的json。

在PHP

,我不喜歡這樣寫道:

$_REQUEST = json_decode(file_get_contents("php://input")); 

角發送POST數據作爲JSON字符串的方式,你需要採取全請求字符串,解析它,那麼你可以使用它。它不會自動處於$ _POST或$ _REQUEST中,直到您執行此解析。

0

我是同樣的問題,它看起來像PHP不通過$http服務通過$_POST陣列。

而不是使用$_POST,嘗試直接解析php://input

php $postdata = file_get_contents("php://input"); $request = json_decode($postdata); var_dump($request)

然後你就可以訪問使用對象符號$request->my_var