【发布时间】:2018-07-12 14:44:50
【问题描述】:
我想从连接到数据库的 PHP 文件中获得一些结果,但是发送到数据库的变量不是从 XMLHttpRequest 发送的。
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的事实无关紧要。
标签: javascript php html ajax xmlhttprequest