2015-02-17 49 views
0

有關此的大量主題,我承諾我已經嘗試了很多(整天)。

這裏是我的代碼:

app.controller('contactsController', function($scope, $rootScope, dataService, $http) { 
 

 
     $rootScope.currentPage = "contact"; 
 

 
     $scope.postData = []; 
 

 
     $scope.runScript = function() { 
 
      $http({ 
 
       url: "post.php", 
 
       method: "POST", 
 
       headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
 
       data: $.param({postData:$scope.postData}) 
 
      }).success(function(data, status, headers, config) { 
 
       $scope.data = data; 
 
      }).error(function(data, status, headers, config) { 
 
       $scope.status = status; 
 
      }); 
 

 
     }; 
 
    });
<form name="contactForm" method="post" ng-submit="runScript()"> 
 
      <div class="col-sm-10"> 
 
       <div class="input-group"> 
 
        <span class="input-group-addon" id="basic-addon1">E-mail Address</span> 
 
        <input ng-model="{{postData.email}}" name="email" class="form-control" placeholder="[email protected]" aria-describedby="basic-addon1" required> 
 
       </div> 
 
      <br> 
 
       <div class="input-group"> 
 
        <span class="input-group-addon" id="basic-addon1">Message</span> 
 
        <textarea ng-model="{{postData.message}}" name="inputMessage" class="form-control"></textarea> 
 
       </div> 
 
      </div> 
 
      <div class="col-sm-2"> 
 
       <button type="submit" class="btn btn-default">Send</button> 
 
      </div> 
 
     </form> 
 
     {{data}} and {{status}}

$inputData = file_get_contents("php://input"); 

$inputData = json_decode($inputData); 

$email = $inputData->email; 

echo $email; 

現在我可能犯了一些錯誤,而試圖得到這個工作,從我有早些時候 - 我沒有得到任何錯誤,但我也沒有取得任何成功 - 我一整天都在這裏!謝謝!

+0

也檢查此鏈接http://stackoverflow.com/questions/19254029/angularjs-http-post-does-不發送數據 – tnash 2015-02-17 22:55:15

回答

1

Angular將JSON格式的數據發佈爲php本身不會消耗的內容。您將有讀取和JSON解碼輸入像這樣:

// get the raw POST data 
$inputData = file_get_contents("php://input"); 

// this returns null if not valid json 
$inputData = json_decode($inputData); 
+0

謝謝,更新,但仍然無法正常工作。 – Marshall 2015-02-17 22:58:06

+0

您可以嘗試刪除以下行: 標題:{'Content-Type':'application/x-www-form-urlencoded'}, – 2015-02-17 22:59:53

+0

謝謝,這可能是問題,但我也有{{}} ng-model,這顯然是不正確的 - 但是當我試圖修復bloomin腳本時,我創建了自己的許多錯誤之一!謝謝! – Marshall 2015-02-17 23:38:16

0

我可能是錯的,但如果你只使用POST,你應該在_POST變量找到你的數據。只有在您提交PUT請求時,才需要使用file_get_contents(「php:// input」)。

另外,您所提交的關鍵POSTDATA和你想讀 - >電子郵件..

相關問題