live server上XMLHttpRequests中的Javascript变量重置为零
我对此感到有点困惑,因为在我的本地主机上它成功了 当我运行代码时,我会先生成一个变量live server上XMLHttpRequests中的Javascript变量重置为零,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我对此感到有点困惑,因为在我的本地主机上它成功了 当我运行代码时,我会先生成一个变量randomid,现在我想在XMLHttpRequest的响应中使用这个id,但是console.log显示变量randomid已更改: var randomid = "8bqfqm2q"; console.log("../export/" + randomid + ".ff" ); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = functi
randomid
,现在我想在XMLHttpRequest的响应中使用这个id,但是console.log显示变量randomid
已更改:
var randomid = "8bqfqm2q";
console.log("../export/" + randomid + ".ff" );
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
console.log("../export/" + randomid + ".ff" );
}
}
xhr.open('POST', "../phpfile.php", true);
xhr.send(new FormData(document.getElementById("myform")));
控制台打印:
../export/8bqfqm2q.ff
../export/.ff
但是,当我这样做时:
document.getElementById("passfilterid").value = "8bqfqm2q";
并将document.getElementById(“passfilterid”).value而不是randomid
传递到控制台日志。。它起作用了
我不明白,发生了什么事?这段代码在我的本地主机上运行得非常好,所以我不知道该怎么办。我也没有收到任何错误。您可以将callbackfunction添加到xhtp对象并向其传递值,也可以将属性添加到xhtp对象并在函数内检索它
var xhr = new XMLHttpRequest();
xhr.randomid = "8bqfqm2q";
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
console.log("../export/" + this.randomid + ".ff" );
}
}