ฉันมีแบบฟอร์มพร้อมแท็ก ng-submit="login()
ฟังก์ชันนี้เรียกได้ว่าดีในจาวาสคริปต์
function LoginForm($scope, $http)
{
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
$scope.email = "fsdg@sdf.com";
$scope.password = "1234";
$scope.login = function()
{
data = {
'email' : $scope.email,
'password' : $scope.password
};
$http.post('resources/curl.php', data)
.success(function(data, status, headers, config)
{
console.log(status + ' - ' + data);
})
.error(function(data, status, headers, config)
{
console.log('error');
});
}
}
ฉันได้รับการตอบกลับ 200 OK จากไฟล์ PHP อย่างไรก็ตามข้อมูลที่ส่งคืนบอกว่าemail
และpassword
ไม่ได้กำหนด นี่คือ php ทั้งหมดที่ฉันมี
<?php
$email = $_POST['email'];
$pass = $_POST['password'];
echo $email;
?>
มีความคิดว่าทำไมฉันถึงได้รับPOST
ค่าที่ไม่ได้กำหนด?
แก้ไข
ฉันอยากจะชี้ให้เห็นว่านี่เป็นคำถามยอดนิยม (แต่มันก็เก่าแล้ว) .success
และ.error
เลิกใช้แล้วและคุณควรใช้.then
ตามที่ @James Gentes ระบุไว้ในคอมเมนต์
Form-Data
ข้อความว่า{"email":"fsdg@sdf.com","password":"1234"}
print_r($_POST);
แล้วลองjson_decode()
ดัชนีที่ถูกต้อง
echo 'test';
ใช้งานได้ดี ฉันกำลังชี้ไปที่ไฟล์ที่ถูกต้อง
$http
อะไร