我正在尝试从连接到数据库的PHP文件中获取一些结果,但是发送到数据库的变量并未来自XMLHttpRequest。
HTML代码如下:
这是JS代码:
PHP:
如果我去掉这个条件,会收到一个消息,说
HTML代码如下:
The HTML:
<input type="text" id="name"/>
这是JS代码:
var uname = document.getElementById('name');
function checkUser(){
var xhr = new XMLHttpRequest();
xhr.open("POST" , 'file.php' , true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200)
{
console.log(xhr.responseText);
}
}
var userName = uname.value;
xhr.send(userName);
}
uname.addEventListener("blur" , checkUser);
PHP:
if(isset($_POST['userName'])){
echo $_POST['userName'];
}
如果我去掉这个条件,会收到一个消息,说
userName
索引未定义。
var userName = uname.value;
更改为var userName = 'userName=' + uname.value;
。在向 Ajax 传递数据时,您需要使用查询格式:fieldname=value&anotherfield=somevalue
。_注意:_向函数传递变量时,变量名称不会被传递,因此您的变量称为userName
是无关紧要的。 - M. Eriksson