2011-11-21 71 views
0

我一直在嘗試幾個小時才能完成這項工作,但在進行ajax調用時我沒有收到任何迴應。我對Ajax是新手,它可能是您將會看到但我無法做到的事情。我很感激你的幫助。這是我的代碼。試圖讓簡單的登錄表單上的AJAX工作

HTML

<script> 
$("#submitlogin").click(function() { 

     inputs = { 
     "logInUsername" : $('input[name=logInUsername]').val(), 
     "logInPassword" : $('input[name=logInPassword]').val() 
     }; 
     // since this is a username and password combo you will probably want to use $.post 
     $.ajax ({ 
     type: "POST",   
     url: "loggnow.php", 
     data: inputs, 
     success: function() { 
      $("#login").html("You are now logged in!"); 
     } 
     }); 
    }); 
</script> 

loggnow.php

<?php 
extract($_POST); 

if($_POST) 
{ 
    echo 'Yes the ajax posted'; 
} 
?> 
+0

當您嘗試手動訪問該頁面時,您會看到Javascript錯誤或PHP錯誤嗎? 也確保你給PHP文件的正確路徑,你有什麼暗示,這兩個文件都在同一目錄 –

+0

是的,我能夠通過網址訪問頁面,是的,他們在同一個目錄 – user710502

回答

2

試試這個:

$(document).ready(function(){ 
    $("#submitlogin").click(function() { 
    inputs = { 
     "logInUsername" : $('input[name=logInUsername]').val(), 
     "logInPassword" : $('input[name=logInPassword]').val() 
    }; 
    // since this is a username and password combo you will probably want to use $.post 
    $.ajax ({ 
     type: "POST",   
     url: "loggnow.php", 
     data: inputs, 
     success: function() { 
      $("#login").html("You are now logged in!"); 
     }, 
     error : function(jqXHR, textStatus, errorThrown){ 
      alert("error " + textStatus + ": " + errorThrown); 
     } 
    }); 
    }); 
}); 

這會給你一個警告,如果在AJAX發生錯誤,詳情

編輯:

利奧指出了這一點,你的代碼可能會被執行太快了,嘗試了上述修改後的代碼,這樣你要確保它運行後,所有的頁面加載

+0

謝謝Dani,我試過了,什麼都沒有回來..頁面也沒有改變,但是當我點擊按鈕時,它似乎像加載了一秒鐘的東西..但是然後停留在同樣的頁面上,就像什麼都沒有發生。 – user710502

+1

我更新了我的回答後,獅子座的建議 嘗試它,讓我知道,雖然利奧的方法也不錯,我鼓勵你使用'$(document).ready',而不是因爲它更清晰地閱讀,然後只是'$()'特別如果你正在處理巨大的代碼 –

+0

哇是啊這工作..最後一個問題如果我想顯示消息「你是從我的.php頁面登錄,我可以這樣做嗎?..或者我怎麼操縱成功:函數,以便它從php – user710502

0

你只需要一個Web服務器主機看起來是這樣的:HTTP://127.0.0.1:8084/XXX

+0

我使用的是Apache http:// localhost/blah blah – user710502

+0

你從哪裏得到端口號? – 2011-11-21 05:07:12

2

儘量把自己的函數中

$(function(){ 
    //attach the button click here 
}); 

這樣你的代碼只會加載身體後運行(這樣你確信你的按鈕存在) - 看here