У меня есть файл ajax.php, который я использую для обработки данных, переданных через jquery. Я эту конкретную строку кода называется на успешную форму проверки:Получение конкретных данных из ответа json_encode
$.post("/ajax.php",{'request': 'emailLogin', 'loginmail': mail, 'loginpass': pass}, function(data) {} );
данных в моем случае: {"valid":true}{"auth":false}
, который возвращается в качестве ответа от ajax.php, но я не могу показаться, чтобы подать правильный путь определяя «auth» и переменную со значением «false».
My ajax.php просто проверяет, находятся ли логин и пароль в базе данных, а не echo json_encode(array('auth' => false));
или echo json_encode(array('auth' => true));
в зависимости от результата. Но он также содержит следующие строки:
if(isset($_POST['loginmail'])) {
$usermail = htmlspecialchars($_POST['loginmail']);
if (!filter_var($usermail, FILTER_VALIDATE_EMAIL)) {
$response = array('valid' => false, 'message' => 'You did not enter a correct email address.');
} else {
// All good
$response = array('valid' => true);
}
}
echo json_encode($response);
Ваши данные, кажется, возвращаются два JSON объектов вместо одного. Как только вы исправите это, установили ли 'dataType'' json' в 'ajaxSetup'? http://api.jquery.com/jQuery.ajaxSetup/ –
Вы должны написать свой 'ajax.php', так как проблема, кажется, есть, а не в вашем JS – Machavity
Это правильно. Один используется для подтверждения проверки, другой проверки подлинности. –