2015-02-17 53 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和你想读 - >电子邮件..

相关问题