我有一个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>
此变量中的每一个都为空。需要一些帮助!
答案 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'];
您可以在此处详细了解: