gpt4 book ai didi

javascript - 将变量附加到 XMLHttpRequest 的最佳实践?

转载 作者:行者123 更新时间:2023-11-28 20:34:21 24 4
gpt4 key购买 nike

var xhr=new XMLHttpRequest();
xhr.open('GET','example.php');
xhr.myVar=0;
xhr.onreadystatechange=function(){
this.myVar=this.responseText.length;
var s=this.readyState+":"+this.myVar+":"+this.responseText;
document.getElementById('x').innerHTML=s;
};

我在网页上有这个脚本(和 <p id="x"></p> )。我想附加一个变量以在 onreadystatechange 中使用函数(显然,在实际代码中我用它做了一些比在这里更有趣的事情)。

这在我尝试过的浏览器中运行良好,但它让我感到紧张。有我应该遵循的约定吗?例如。为自定义变量添加下划线或类似的前缀?

顺便说一句,附加一个成员变量感觉完全正确:主要的替代方案是使用全局变量,我根本不喜欢它(我可能在页面上有两个 XMLHttpRequest 对象)。

最佳答案

您可以使用closures .

假设此 ajax 请求位于函数体内,那么您可以使用 var 关键字声明 myVar 并在 onreadystatechange 函数中使用它,如下所示如果它是局部变量。

function x() {

....
....

var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.php');
var myVar = 0;
xhr.onreadystatechange = function() {
this.myVar = this.responseText.length;
var s = this.readyState + ":" + myVar + ":" + this.responseText;
document.getElementById('x').innerHTML = s;
};

....
....

}

关于javascript - 将变量附加到 XMLHttpRequest 的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15742762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com