我在使用xmlHttpRequest和sendResponse的同时遇到了问题。
我不知道为什么但是当我在x.onload中设置变量时,我得到响应“undefined”,如果我将变量设置在x.onload之外,我会得到正确的值。
请参阅下面的代码示例:
内容scrypt:
chrome.runtime.sendMessage({MessageTest: "something"}, function(response) {alert(response.msg);});
活动页面:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
var tableauTest = [];
var x = new XMLHttpRequest();
x.open('GET', 'http://monsite/page.php');
x.onload = function() {
tableauTest[1] = "test"; // not working here
};
// if a put tableauTest[1] = "test"; here, it's working
x.send();
sendResponse({
msg: tableauTest[1]
});
});
我试图放return true;
(like here),但它似乎对我不起作用