其实我正在聊聊天......但它不符合这个条件。 这是代码
function submitChat() {
if (form1.users.value == "" || form1.messege.value == "") {
alert("Please fill the all feild");
return;
}
var users = form1.users.value;
var messege = form1.messege.value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
//Here is the problem may be
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementByID('shouts').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open('GET', 'process.php?users' + users + '&messege' + messege, 'true');
xmlhttp.send();
这里这些变量显示未定义..
$users = $_REQUEST['users'];
$messege = $_REQUEST['messege'];
答案 0 :(得分:1)
您在参数名称及其值之间省略了=
。
此外,当您发送可能包含特殊字符的网址参数时,您需要使用encodeURIComponent()
xmlhttp.open('GET', 'process.php?users=' + encodeURIComponent(users) + '&messege=' + encodeURIComponent(messege), true);
另请注意,第三个参数应该是布尔值,而不是字符串(尽管由于任何非空字符串都是真实的,'true'
将与true
具有相同的效果,但'false'
}不等于false
)。
对于像邮件这样的长输入使用URL参数通常也不是一个好主意,您应该使用POST
数据。
xmlhttp.open('POST', 'process.php', true);
xmlhttp.send('users=' + encodeURIComponent(users) + '&messege=' + encodeURIComponent(messege));