1

我花了數小時試圖弄清楚。xmlHttpRequest通過谷歌瀏覽器擴展,簡單POST到.php頁面

我有一個基本的Google Chrome瀏覽器擴展程序,它記錄了一些數據,我希望數據通過xmlHttpRequest發送到外部php頁面(使用POST)。

在我的權限頁面(manifest.json的),我有:

"permissions": [ 
    "tabs", 
    "http://www.mywebsite.com/", 
    "https://www.mywebsite.com/", 
    "http://*/", 
    "https://*/*" 
], 

在我的內容腳本,我的代碼:

if (var1 && var2) { 
    var xmlhttp = null; 

    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    var url = "http://www.mywebsite.com/datalogger.php"; 
    var params = "var1="+var1+"var1="+var1; 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.open("POST", url, true); 
    xmlhttp.send(params); 
} 

但是(你猜對了!)我的代碼將無法工作。 任何人都可以弄清楚它有什麼問題嗎?

+0

(這不是你的問題的答案),但是爲什麼你在做擴展時使用ActiveXObject。 – Sushil

+0

這是錯的嗎?我幾乎沒有寫谷歌瀏覽器擴展的經驗。 –

+0

好吧,這沒有錯,它只是鉻有XMLHttpRequest對象和ActiveXObject是IE或Microsoft(舊)瀏覽器,因此你並不真的需要檢查。 – Sushil

回答

0

http://www.mywebsite.com/是僅匹配域的根部分(即,路徑「/」)的match pattern。您應該使用http://www.mywebsite.com/*而不是最後的明星。您應該應用該決賽以顯示所有主持人權限。