mysql — Ionic: невозможно отправить данные формы php на сервер MAMP

Я недавно начал разрабатывать приложения с использованием Ionic. Поскольку я более знаком с MySQL для серверных решений, я хочу сделать следующее: извлечь учетные данные из формы и отправить их в php-файл на сервере MAMP. Этот файл проверит, существует ли учетная запись, и ответит.

Вот форма:

<form name="loginForm" novalidate> <!-- ng-submit="LogIn(loginForm)" -->
<div class="section-big">
<div id="logo_container">
<img src="img/Logo.png" id="logo">
</div>

<div id="login_container">
<input class="login_item" name="email" type="email" ng-model="userdata.email" placeholder="email" ng-minlength="5" required>
<input class="login_item" name="password" type="password" ng-model="userdata.password" placeholder="password" ng-minlength="5" required>
</div>
</div>

<span> {{responseMessage}} </span>

<div class="section-small">
<button type="button" class="button button-full button-outline button-light login-inactive" ng-show="loginForm.$invalid">LOGIN</button>

</div>
</form>

Функция в контроллере Ionic:

$scope.logIn = function(userdata) {
$scope.responseMessage = "in treatement";

console.log($scope.userdata.email)

var request = $http({
method: 'post',
url: 'http://localhost:8888/login.php',
crossDomain: true,
headers: {'Content-Type' : 'application/x-www-form-urlencoded'},
data: {
email: $scope.userdata.email,
password: $scope.userdata.password
},
});
console.log("passed");

request.success(function(data) {
if(data == "1"){
$scope.responseMessage = "Login Successful";
}
else {
$scope.responseMessage = "Wrong credentialsemai";
}
});
console.log("end reached");
}

Файл login.php (основываясь на моих выводах о StackSkills):

<?php
header("Content-Type: application/json; charset=UTF-8");
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');

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

include_once 'dbconnect.php';

$request = "SELECT * FROM User WHERE email ='$email' AND password = '$password'";
$result = $conn->query($request);

if($result){
echo "1";
}
else {
echo "0";
}
?>

Состояние вещей:
В настоящее время функция входа в систему запущена. Как{{ responseMessage }} не изменяется, я предполагаю, что информация не отправлена ​​/ не возвращается из `login.php.

У кого-нибудь есть идея, чтобы исправить это или альтернативу, все еще используя Ionic для php для MySQL?

РЕДАКТИРОВАТЬ:
Данные извлекаются, но я все еще не могу отправить их из-за следующей ошибки:
SyntaxError: Unexpected token N

Спасибо !

0

Решение

Эта ошибка, потому что в php ваша первая строка header("Content-Type: application/json; charset=UTF-8");

это означает, что он пытается закодировать ответ в JSON, но вы возвращаете только строку 1 или же 0

Попробуйте следовать в php.

if($result){
echo json_encode(array("status"=>1));
}
else {
echo json_encode(array("status"=>0));
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]