Я новичок в angularjs. Я сделал простое приложение для проверки подлинности, отправив учетные данные пользователя, то есть имя пользователя и пароль на сервер (который написан на php) через почтовый запрос. Но странная часть заключается в том, что с сервера я не могу получить данные с помощью $ _POST, вместо этого я могу получить его через $ _GET. Я также проверил другие части, а также CORS и не обнаружил ошибок. Будет оценено руководство. Благодарю.Извлечение Angularjs Http Почтовые данные
Вот мой угловой фабричный метод:
app.factory("loginFact", function($http){
this.user = {
isAuthenticated: false,
name: "",
token: ""
}
this.makeLoginRequest = function(user,pass) {
var req = {
method: 'post',
url: 'http://localhost/login/authenticate.php',
headers: {
'Content-Type': "multipart/form-data"
},
params: { username: user, password:pass }
}
$http(req).success(function(data){
console.log("Success: " + data)
}).error(function (data) {
console.log("Error: " + data)
});
}
return{
makeLoginRequest: this.makeLoginRequest
}
});
Вот мой сервер часть:
<?php
header('Accept-Charset: utf-8');
header('Connection: keep-alive');
header('Content-Type: multipart/form-data,');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Headers: accept, content-type');
header('Access-Control-Request-Headers: X-Requested-With, accept, content-type');
try{
if(($_POST["username"] == "test") && ($_POST["password"] == "test")){
echo "{\"id\": \"700\", \"user\": { \"uid\": \"123456\", \"role\": \"admin\", \"name\": \"waqar\" }}";
return;
}else{
echo "phase1: invalid username/password";
return;
}
}catch(Exception $e){
echo $e->getMessage();
}
try{
$request_body = file_get_contents('php://input');
$data = json_decode($request_body);
if($data->username == "test" && $data->password == "test"){
echo "{\"id\": \"700\", \"user\": { \"uid\": \"123456\", \"role\": \"admin\", \"name\": \"waqar\" }}";
return;
}
else{
echo "phase2: Invalid username/password";
return;
}
}catch(Exception $e){
echo $e->getMessage();
return;
}
?>
Спасибо, что работает сейчас. Также мне пришлось бы использовать метод Post для аутентификации, но что, если я хочу отправить данные в формате Query String так же, как метод Get? – iConfused
Я обновил ответ, так как мне не разрешено писать слишком много здесь. – razvanz