我想將我的Chrome擴展程序連接到我的服務器,並來回發送數據。特別是,當用戶在瀏覽某個URL時單擊該擴展上的按鈕時,服務器會檢查其數據庫,以查看該URL已被點擊了多少次,增加計數並將新計數發回給用戶。Chrome擴展數據連接到服務器
我知道發送數據到服務器是可能的AJAX請求,但如何從服務器獲取數據?
我想將我的Chrome擴展程序連接到我的服務器,並來回發送數據。特別是,當用戶在瀏覽某個URL時單擊該擴展上的按鈕時,服務器會檢查其數據庫,以查看該URL已被點擊了多少次,增加計數並將新計數發回給用戶。Chrome擴展數據連接到服務器
我知道發送數據到服務器是可能的AJAX請求,但如何從服務器獲取數據?
我認爲,您可以使用AJAX以直接方式獲取更新計數。例如(使用jQuery):
$.ajax({
url: 'ajax/count.php?url=' + encodeURIComponent(newURL),
// dataType: 'json',
success: function(data) {
// parse you data received from server here
// data.count
}
});
這樣你就可以「送」新的信息作爲GET請求的參數,並從服務器的HTTP響應所需的信息。用於傳輸計數的數據類型由您決定。例如,這可以是json
(jQuery提供了一種簡寫方法getJSON
,它執行相同的自定義ajax
調用)。
如果你不想GET,你可以使用POST並將其設定數據:
$.ajax({
type: "POST",
url: "ajax/count.php",
data: { url: newURL },
success: function(data){
// ...
}
});
你顯然需要使用XHR/阿賈克斯
但本鉻擴展API,你可能會得到這樣的錯誤
沒有'Access-Control-Allow-Origin'標題存在於請求的資源。
爲了解決這個問題,可以簡單地把鏈接到服務器的許可陣列上的manifest.json
"permissions": [
"tabs",
"http://www.myserver.dom"
],
更詳細的說明見this documentation by Google
也就是說,或者如果它是您控制的服務器 - 您可以添加「Access-Control-Allow-Origin」標頭。 – Xan