我正在開發一個html項目,最終將由Phonegap進行打包。所以我試圖將數據從html表單編碼爲JSON格式,然後使用ajax發送到位於服務器上的php文件,並接收響應以執行其他操作。爲什麼ajax不工作,除非我刷新或使用location.href?
現在我用<a href='login.html'>
在我的index.html打開登錄頁面。在我的登錄頁面中,我有這個
<script>
$(document).ready(function(e) {
$('#loginform').submit(function(){
var jData = { "email": $('#emailLogin').val(), "password": $('#Password').val()};
$.ajax({
url: 'PHP/login.php',
type:'POST',
data: jData,
dataType: 'json',
async: false,
error: function(xhr,status){
//reload();
location.href='index.html';
alert('Wrong email and password');
},
success: function(data){
if(data[1] == 1){
var Id_user = data[0];
location.href='loginSuccess.html';
}
}
});
});
});
</script>
將我的數據發送到服務器。但我發現它不起作用,它仍然在登錄頁面。我試圖輸入數據並再次提交,但仍然沒有發生。在刷新登錄頁面並再次輸入數據之前,它可能會顯示錯誤消息或轉到登錄訪問頁面。但是,當我使用<script> function loadLogin(){ location.href='login.html'; } </script>
打開登錄頁面時,一切正常。
那麼是什麼原因造成的呢?我如何修改這段代碼以使其更好?
你是什麼意思,它不會工作? ajax請求是否回退到錯誤功能?請求不會被解僱嗎?請求中是否發送表單數據?什麼不工作? – Delta
我不確定我是否理解這個問題。你說你去了頁面,沒有任何反應,然後你刷新,然後(並且只有這樣)阿賈克斯運行? –
@Delta我認爲它沒有被解僱,因爲在我點擊提交之後,什麼都沒有發生,它仍然在登錄頁面中,沒有任何錯誤信息。 – CodTango