ajax函數的成功部分永遠無法到達。我花了幾個小時,仍然沒有成功。該代碼已被剝離幾乎所有必要的只是試圖消除任何可能的問題,但它仍然無法正常工作。Ajax未能成功登錄表單
下面是我試圖去解決的代碼。謝謝你的幫助。
阿賈克斯:
function validLogin(){
var url = "loginProcessAjax.php";
$.ajax({
type: 'POST',
url: url,
beforeSend: function() {
//
alert("sdfs");
},
success: function(html) {
alert("success");
alert(html.getElementsByTagName("worked")[0].firstChild.nodeValue);
},
error: function(error) {
console.log(error);
}
});
}
PHP:
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<worked>";
echo "success";
echo "</worked>";
?>
HTML:
<form method="post" action="" id="ourLoginFormID_JS">
<div class="ourContactFormElement2">
<label for="username">Username:</label>
<input type="text" id="username" name="username" autocomplete="off" class="required" value="<?php if(isset($_POST['username'])) echo htmlentities($_POST['username']); ?>" />
</div>
<div class="ourContactFormElement2">
<label for="password">Password:</label>
<input type="password" id="password" name="password" autocomplete="off" class="required"/>
</div>
<div class="ourContactFormElement2">
<label> </label>
<input type="submit" name="loginButton" id="loginButton" value="Login!" onclick="validLogin()"/>
</div>
<div id="statusLogin"></div>
</form>
在beforeSend,沒有得到與生成XML警告框。另一個這樣做,我知道它至少是調用函數。
打開瀏覽器的調試器(F-12)並查看網絡流量。看看你的服務器響應是什麼。 –
也許你的警報默默無聞 - 你自己這麼說,所以處理就停止了。如果只提醒「html」,你會得到什麼? – Zlatko
直接在瀏覽器上檢查您的loginProcessAjax.php。我認爲你已經啓用了PHP短打開標記,並且第一個回顯失敗 –