如何从angularjs表单获取PHP数据

时间:2018-01-24 12:53:59

标签: php angularjs forms angularjs-ng-model

我有一个angularjs形式的问题,我无法通过php从表格(ng-model)获取数据。

select
spr.id,spr.total_marks,spr.obtained_marks,
p.paper_title ,p.exam_id,p.subject_id,
sr.reg_no,sr.student_id,
s.student_name
FROM 
students s,
student_registration sr,
student_paper_results spr,
papers p 
WHERE
s.id = sr.student_id AND
s.id = spr.student_id AND
p.id = spr.paper_id

我提交带有$ http的表单,但是当我尝试在php中运行时

<div class="divProfil">
      <form id="formProfil" ng-submit="submit()">
        <p><span>Bonjour  </span><input  type="text" name="loginProfil" ng-model="loginProfil"/></p>
        <p>Mon mot de passe:  <input  type="text" name="mdpProfil" ng-model="mdpProfil"/></p>
        <p> Email:  <input  type="email" name="emailProfil" ng-model="emailProfil"/></p>
        <input class="btn btn-primary" type="submit" value="Enregistrer"/>
      </form>

  </div>

此变量中的每一个都为空。需要一些帮助!

1 个答案:

答案 0 :(得分:0)

我认为这可能是您发送的数据序列化的问题,特别是如果您使用$ http.post()函数。

如果您使用$ http.post()然后在PHP端执行此操作:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;

否则,您需要使用$ .param()函数更改Angular端数据的发送方式。

$http({
    method  : 'POST',
    url     : '<PATH_TO_END_POINT_HERE>.php',
    data    : {$.param($scope.formData),  // pass in data as strings}
    headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)
})
.success(function(data) {
    console.log(data);
});

然后你应该可以在PHP端使用你的代码。

$email = $_POST['email'];

您可以在此处详细了解: