是否可以在 XMLHttpRequest 的 onreadystatechange 处理程序中找到作为参数发送到 XMLHttpRequest 的 send(data) 函数的数据?我认为此时它必须存储在它的属性之一中。
我问的原因是因为这个回调调用了另一个需要所述数据的函数,但是直到调用 XHR.send() 之前才知道数据,所以我不能将其放入 XHR 构造函数中。现在我必须为该数据使用全局变量,我想摆脱它。 这是代码片段:https://bpaste.net/show/2150361d3dbe
我使用 XHR 来获取 blob 形式的图像,因此显然 jQuery 的 Ajax 不是一个选项。所有这些都在我的用户脚本中使用,而不是在网站上,所以我不知道,也许全局变量根本不是什么大问题。
最佳答案
不,发送的数据不可用作 XHR 对象的属性。一旦上线,它就应该是可垃圾收集的。
根据您创建 onreadystatechange
回调的方式,data
变量可能仍在作用域内,因此您可以直接访问它(并将其传递给其他函数) .
手动将数据设置为相应 xhr 对象的属性仍然比使用全局变量更好。
关于javascript - 在 XHR.onreadystatechange 回调中访问通过 XHR.send(data) 发送的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304711/