I am writing a Chrome Extension which needs to load some data from another site. From my research I believe I should use XMLHttpRequest for this but it returns responseText="" and status=0 for every site that I try. The URLs that I pass into the javascript are good; I have tried
http://www.google.com
and
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22MSFT%22)&env=store://datatables.org/alltableswithkeys
.
Am I doing something ignorant/stupid? I believe that it is something with the permissions in the manifest, but what I have now should allow both of these sites. I see no errors in my javascript console.
The manifest:
{
"manifest_version": 2,
"name": "nnnn",
"description": "nnnn",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"storage",
"http://*.query.yahooapis.com/*",
"http://*/*",
"https://*/*"
]
}
The javascript function:
function getSite(queryUrl) {
var request = new XMLHttpRequest();
request.open("GET", queryUrl, true);
console.log(queryUrl);
request.onreadystatechange = function () {
console.log(request);
if (request.readyState == 4) {
if (request.status == 200) {
console.log(request.responseText);
} else {
console.log('Unable to resolve address');
}
}
};
request.send(null);
}
EDIT: http://developer.chrome.com/extensions/xhr.html This is pretty much what I have been following for guidance but apparently something has gone over my head.
I did something ignorant and had a form submitting which was causing the page to refresh and throw away the previous XMLHttpRequest when it would finish