Javascript FirefoxSDK多次执行请求
我正在用我的FirefoxSDK执行一个服务器请求,它会回复一个XML文件 我正在解析XML文件中的两个特殊值,并将它们放入全局数组(在我的Javascript FirefoxSDK多次执行请求,javascript,firefox-addon-sdk,Javascript,Firefox Addon Sdk,我正在用我的FirefoxSDK执行一个服务器请求,它会回复一个XML文件 我正在解析XML文件中的两个特殊值,并将它们放入全局数组(在我的onComplete函数中) 我的问题是数组没有保存元素0和1中的值,我不知道为什么 我的第二个问题是,我想在我的插件中调用当前选项卡url(这意味着不止一次)的请求。我知道请求模块说“每个请求对象设计为只使用一次”,但是否可以多次调用它 我总是会遇到这样的错误: 错误:此请求对象已被使用。您必须创建一个新请求才能发出新请求 谢谢只需将请求调用包装在一个可重
onComplete
函数中)
我的问题是数组没有保存元素0
和1
中的值,我不知道为什么
我的第二个问题是,我想在我的插件中调用当前选项卡url
(这意味着不止一次)的请求。我知道请求模块说“每个请求对象设计为只使用一次”,但是否可以多次调用它
我总是会遇到这样的错误:
错误:此请求对象已被使用。您必须创建一个新请求才能发出新请求
谢谢只需将请求调用包装在一个可重用的函数中即可<代码>请求是一个构造函数,因此可以实例化多个请求。但每个请求只能请求一个URL
function request (url) {
Request({
url: url
onComplete: parseResponse,
}).get();
}
对于XML问题,只需控制台记录单个节点,可能不是您所期望的。非常感谢您的解决方案,我没想到更频繁地使用请求会如此容易:)当我在parseResponse函数中记录示例数组时,它工作正常,但不是全局保存,我不明白:(好的,在每个
parseResponse
,每次调用都会覆盖数组的前2个值。也许你想改用push?我想我的问题是我没有考虑javascript的异步性。一个朋友告诉我,我必须在这里使用回调,所以我会尝试一下!
function request (url) {
Request({
url: url
onComplete: parseResponse,
}).get();
}