Do prostego przesyłania danych z PHP do AJAX, kodowanie Json lub pary wartości klucza nie zawsze są konieczne. Można to zrobić po prostu za pomocą obsługi ciągów.
Przykładowy kod wyjaśniający tę funkcję znajduje się poniżej.
$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;
Ten kod pokazuje, jak odpowiedź "powodzenie" jest wysyłana do ajaxu wywołującego kod php. Dalej w ajax można zrobić, aby odzyskać odpowiedź.
$.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");
}
});
Powyższa koncepcja może zostać przedłużony do powrotu wielu wartości również. Ta metoda umożliwia proste przesyłanie danych z PHP do AJAX w formacie ciągu.
Musimy wykonać prosty krok echa wszystkiego, co musimy wysłać w odpowiedzi od php do ajax, oddzielone przez unikalny separator.
echo $response.#;
echo $email.#;
echo $password.#;
echo "Hello".#;
echo "World";
Następnie dane zmienne Ajax może być po prostu pobierany jak w przykładzie powyżej i o prostej funkcji podobnego
var res = data.split("#");
danych, jest zmienna w obrębie AJAX. Tablica res może być następnie używana w js dla dowolnego celu, którego potrzebujemy.
Dziękuję :-) Wygląda prosto! Czy też "Booboo" jest oficjalny, czy może być cokolwiek? – Bojangles
Hehe. To może być wszystko. "Oficjalnym" terminem jest "Wewnętrzny błąd serwera". –
@Bojangles komentarz wieku lol^_^Nie mogę powstrzymać się od komentowania. : p – Gogol