我是新來的ajax,並且認爲我會成爲一個有趣的實驗放入我的項目。我創建了自己的燈箱類型功能,以在我創建的網站上發送消息。當用戶點擊「發送消息」時,這就是燈箱出現的時候,我試圖讓它說「發送消息給用戶」,其中用戶也是他們發送消息的用戶的名字。我的燈箱html元素實際上是在一個單獨的網頁上,這就是爲什麼我使用ajax。這是我到目前爲止,似乎並不能找出問題所在:Ajax通過url發送參數
user.php的頁面
<div id = "pageMiddle"> // This div is where all the main content is.
<button onclick = "showMessageBox(UsersName)">Send Message</button>
</div>
注:用戶名正確傳遞到JavaScript函數,我有檢查了很多。
main.js頁
function showMessageBox(user){
alert(user); // where i checked if username passes correctly
var ajaxObject = null;
if (window.XMLHttpRequest){
ajaxObject = new XMLHttpRequest();
}else if (window.ActiveXObject){
ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if (ajaxObject != null){
ajaxObject.open("GET", "message_form.php", true);
ajaxObject.send("u="+user);
}else{
alert("You do not have a compatible browser");
}
ajaxObject.onreadystatechange = function(){
if (ajaxObject.readyState == 4 && ajaxObject.status == 200){
document.getElementById("ajaxResult").innerHTML = ajaxObject.responseText;
// use jquery to fade out the background and fade in the message box
$("#pageMiddle").fadeTo("slow", 0.2);
$("#messageFormFG").fadeIn("slow");
}
};
}
message_form.php頁
<div id = "messageFormFG">
<div class = "messageFormTitle">Sending message to <?php echo $_GET['u']; ?></div>
</div>
注:當直接通過URL訪問該頁面,給它的u參數的值,它正確顯示
此使用jQuery Ajax庫當不需要。 – CarlosB
這是正確的,CarlosB。這只是在不使用jQuery時才需要,因爲原始的海報正在做。我指出,在我解釋了在沒有jQuery的情況下處理請求的正確方法後,使用jQuery是一個好主意。 – CamHenlin