我已经进行了搜索,但是通常这是由于人们不尊重路径。这不是我的问题!
代码:
function getpass(){
var passwd = document.getElementById('box').value;
if (window.XMLHttpRequest) {
xhttp=new XMLHttpRequest();
} else {
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.response);
document.getElementById('key').innerHTML = this.response;
}
};
var redurl = "./required/crypt.php?a=gp&pass="+encodeURI(passwd);
console.log(redurl);
xhttp.open("GET",redurl,true);
xhttp.send();
}
错误发生在xhttp.send();上。控制台日志(括号中带有参考线):
/required/crypt.php?a=gp&pass=tset (console.log(redurl);)
login.php:71 GET http://localhost/required/login.php 404 (Not Found)
getpass @ login.php:71 (xhttp.send();)
onclick @ login.php:46 (<button onclick="getpass()">genPasswd</button>)
login.php是文档根目录(localhost / login.php),crypt.php在所需文件夹中(localhost / required / crypt.php)
为什么要尝试重定向到“ localhost / required / login.php”?您可以从日志中看到'redurl'可以正常工作,但是ajax决定忽略url,而不是文件夹?此功能是为了测试而生成密码的功能,我有20-30个功能与该功能正常工作的功能几乎相同,只是该功能失败了。