[英]Chrome Extension Post Data to Rails Server Cross-Origin XMLHttpRequest
[英]Cross-Origin XMLHttpRequest from Chrome Extension Returning Status 0
我正在編寫一個Chrome擴展程序,該擴展程序需要從另一個站點加載一些數據。 從我的研究中,我相信我應該為此使用XMLHttpRequest,但是它為我嘗試的每個站點都返回responseText =“”和status = 0。 我輸入到javascript中的URL很好; 我努力了
http://www.google.com
和
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
。
我在做愚昧無知的事情嗎? 我相信清單中有權限,但是我現在所擁有的應該允許這兩個站點。 我在JavaScript控制台中沒有看到任何錯誤。
清單:
{
"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://*/*"
]
}
javascript函數:
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);
}
編輯: http : //developer.chrome.com/extensions/xhr.html這幾乎是我一直遵循的指導原則,但顯然有些事情困擾了我。
我不認為這是與許可相關的問題。 如果是這樣,則在控制台中會出現一條錯誤消息,提示權限問題。 我認為您的XMLHttpRequest出了點問題。 確保傳遞給函數的queryUrl
是正確的。
您可以使用Fiddler來檢查您的請求出了什么問題。
我做了一些無知的事情,並且提交了表單,這導致頁面刷新並在完成時丟棄了先前的XMLHttpRequest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.