Я пытаюсь сделать почтовый запрос с angularjs на php. Почтовый ответ всегда 200 OK, а возвращаемая переменная data в ответе всегда пуста. Я новичок в этом, как вы можете видеть, что я здесь делаю не так?
Код AngularJs:
$scope.postData = function(){
$http.post('send.php', $scope.data).then(function(response){
console.log(response);
});
}
PHP:
$form_data = json_decode(file_get_contents("php://input"));
$data = array();
$error = array();
if(empty($form_data->fullName)){
$error["fullName"] = "Your name is required";
}
if(empty($form_data->email)){
$error["email"] = "Your email is required";
}
if(empty($form_data->message)){
$error["message"] = "Message is required";
}
if(!empty($error)){
$data["error"] = $error;
} else {
$data["message"] = "Ok";
}
Вам нужно отправить данные обратно клиенту, в вашем коде вы ничего не возвращаете, следовательно, ответ пуст.
<?php
$form_data = json_decode(file_get_contents("php://input"));
$data = array();
$error = array();
if(empty($form_data->fullName)){
$error["fullName"] = "Your name is required";
}
if(empty($form_data->email)){
$error["email"] = "Your email is required";
}
if(empty($form_data->message)){
$error["message"] = "Message is required";
}
if(!empty($error)){
$data["error"] = $error;
} else {
$data["message"] = "Ok";
}
echo json_encode($data); // return data back to the client
Других решений пока нет …