繁体   English   中英

如何使用Angular $ http将数据发布到PHP

[英]How can I use Angular $http to POST data to PHP

关于这个的很多话题,我保证我已经尝试了很多(整天)。

这是我的代码:

 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="johnsmith@example.com" 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;

现在,在尝试使此功能生效之前,我可能已经犯了一些错误-我没有收到任何错误,但也没有获得任何成功-我整天都在工作! ! 谢谢!

Angular以php本身不使用的JSON格式发布数据。 您将必须读取输入并对其进行json解码,如下所示:

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

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

我可能是错的,但如果仅使用POST,则应在_POST变量中找到数据。 仅在提交PUT请求时才需要使用file_get_contents(“ php:// input”)。

另外,您正在提交关键的postData,并且试图读取->电子邮件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM