0
因此,這是我的兩難境地。我知道.js文件正在工作,它將json數據發送到PHP文件,PHP接收它並執行SQL命令。開發人員視圖顯示這是正常運行。我的問題是在JS文件的'function(data){}'部分中,我不確定如何正確操作JSON數組,即我不知道如何檢查json值是否返回=='success'。閱讀由PHP返回的JS/JQuery中的JSON對象
任何幫助或提示將不勝感激!
JS代碼:
$(document).ready(function(){
$('#login_button').click(function(){
//get values from input text boxes (Email & Password)
var email = $('#email').val();
var password = $('#password').val();
$.post('http://localhost:8888/php/login.php', {email1:email, password1:password}, function(data) {
$("#login_button").html(result); //print JSON returned
if (result[0] == "success"){ //check if 'success' returned by PHP file
console.log(data);
alert('working');
window.location.replace("http://localhost:8888/index.html"); //
} else {
console.log(data);
alert('error');
}
// console.log(data);
}, "json");
});//eo login_button
});//eof
PHP代碼:
<?php
//server info
$servername = "localhost";
$username = "root";
$dbpassword = "root";
$dbname = "personal_data";
//Establish server connection
$conn = new mysqli($servername, $username, $dbpassword, $dbname);
//Check connection for failure
if (mysqli_connect_errno()) {
$error = (mysqli_connect_error());
echo "error";
exit();
}
print_r($_POST);
//Read in email & password
$email = mysqli_real_escape_string($conn, $_POST['email1']);
$password = mysqli_real_escape_string($conn, $_POST['password1']);
// echo $email;
// echo $password;
$sql = "SELECT Name, Age FROM personal_data WHERE Email='$email' AND Password='$password' LIMIT 1";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) > 0){
$jsonString = array('result' => 'success');
echo json_encode($jsonString);
} else {
$jsonString = array('result' => 'failure');
echo json_encode($jsonString);
}
mysqli_close($conn);
?>
我實現了這個,但它沒有解決問題:/任何其他想法? –
你可以看到請願**與Firebug的HTTP **? – ELM
那麼,[Firebug](https://addons.mozilla.org/es/firefox/addon/firebug/) 是一個工具,可以讓你查看HTTP請求,首先你應該看看HTTP請求是否發生。如果在JS函數(function(){})中看不到「alert」,PHP可能反應很差。你可以用Firebug看到這個。 – ELM