我是 ajax 的新手,我认为我会是一个有趣的实验来投入我的项目。我创建了自己的灯箱类型功能,用于在我正在创建的网站上发送消息。当用户点击“发送消息”时,灯箱就会出现,在顶部我试图让它说“向用户发送消息”,其中用户是他们发送消息的用户的名称. 我的灯箱 html 元素实际上位于一个单独的网页上,这就是我使用 ajax 的原因。这是我到目前为止所拥有的,似乎无法弄清楚问题所在:
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和一个值,就可以正确显示