我正在嘗試使用ajax顯示來自php的結果登錄。但這不起作用。它顯示錯誤像這樣的未定義索引。
說明:未定義指數:在USEREMAIL C:\ XAMPP \ htdocs中\控制器\上線login.controllers.php 10
說明:未定義指數:在userPassword的 C:\ XAMPP \ htdocs中\控制器\上線10 login.controllers.php
登錄失敗
這裏是我的源代碼: login.views.php
<form id="loginForm" action="/controllers/login.controllers.php" method="post">
<input id ="userEmail" type="text" name="userEmail" placeholder="Email">
<input id ="userPassword" type="password" name="userPassword" placeholder="Password">
<button id ="loginSubmit" type="submit" name="loginSubmit">Login</button>
<div id="msg"></div>
</form>
login.Controller.php
<?php
include("../models/user.models.php");
include("../models/dataBase.models.php");
$dbc = new dataBase();
$connect = $dbc->connect('localhost','root','','how_database','','hide');
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$user = new user();
if ($user->login($connect,$_POST['userEmail'],$_POST['userPassword']) == true){
echo "Login Successful";
}
else {
echo "Login failed";
}
}
$dbc->close($connect);
?>
loginAjax.js
$("#loginSubmit").click(function(){
if ($("#userEmail").val() == "" || $("userPassword").val() == "") {
$("div#msg").html("Please enter your email and password");
}
else {
$.post(
$("#loginForm").attr("action"),
$("#loginForm:input").serializeArray(),
function(data){
$("div#msg").html(data);
}
);
}
$("#loginForm").submit(function(){
return false;
})
});
更新問題: 現在我想補充信息 「等待」 時,單擊提交按鈕後,隱藏它何時顯示結果消息。我必須做什麼?。謝謝。
嘗試'$( 「#登錄表單」)連載''的$( 「#登錄表單:輸入」),而不是()。serializeArray()' – 2015-02-24 11:22:18
謝謝。它的工作。 :)。但你可以向我展示他們之間的不同嗎? – 2015-02-24 11:29:26
我給你添了一個答案。 – 2015-02-24 11:31:52