Для простой передачи данных из PHP в AJAX кодировка Json или пары ключ-значение не всегда необходимы.Это может быть просто сделано с использованием обработки строки.
Ниже приведен пример кода, объясняющего эту функцию.
$query = "SELECT email FROM login WHERE email = '". mysqli_real_escape_string($conn,$email) ."' AND password = '". mysqli_real_escape_string($conn,$pass) ."'" ;
$result = mysqli_query($conn,$query);
$row=mysqli_fetch_row($result);
$row_cnt = mysqli_num_rows($result);
$s_email = $row[0];
if ($row_cnt == 1) {
$response="success";
} else {
$response = "Invalid Credentials";
}
$conn->close();
$_SESSION["email"]= $s_email;
echo $response;
Этот код показывает, как ответ «success» возвращается ajax, вызывающему phpкод.Далее в ajax для получения ответа может быть сделано следующее:
$.ajax({ type : 'POST',
data : {email: $('#email').val(), password: $('#pass').val()},
url : 'login.php',
success: function (data) {
if(data == 'success'){ //the value echoed from php can be stored in the data variable of ajax
window.location.assign('upload.php');
}
else{
alert(data);
}
},
error: function ( xhr ) {
alert("error");
}
});
Вышеприведенная концепция может быть расширена и для возврата НЕСКОЛЬКИХ ЗНАЧЕНИЙ.Этот метод позволяет простой перенос данных из PHP в AJAX в строковом формате.
Мы должны выполнить простой шаг - повторить все, что нам нужно, чтобы отправить в ответ в виде ответа от php на ajax, разделенныйуникальный разделитель.
echo $response.#;
echo $email.#;
echo $password.#;
echo "Hello".#;
echo "World";
Тогда переменные данные в ajax могут быть просто извлечены, как в примере выше, и простая функция, такая как,
var res = data.split("#");
data, являющаяся переменной внутри ajax,Затем массив res можно использовать в js для любых целей.