2014-12-02 96 views
2

是否可以直接從chrome擴展腳本調用mongodb(mongolab.com服務器)上的post-method?從Chrome擴展程序發佈到MongoDB

我需要這個,因爲我有一個單獨的服務器腳本,我不想讓用戶訪問。我想直接從這個服務器發佈和獲取該擴展。

我按照@mnemosyn的建議做了,但仍有一些問題。我的擴展程序不會發布到我的數據庫。下面從後臺腳本被調用代碼剪斷:

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "MY-API-URL", true); 
xhr.setRequestHeader("Content-Type", "application/json"); 
xhr.send('{"something": "inJsonHere"}'); 
+0

呃,永遠不要跳過服務器! Mongolab是一個mongodb主機,你根本不想將數據庫暴露給公共互聯網。在後端代碼中實現該隱藏方法,並使用某種Web標準身份驗證方案(如OAuth或HTTP基本身份驗證)授權對其進行調用。直接擊中數據庫是危險的,而雙層體系結構幾乎總是一個壞主意。 – mnemosyn 2014-12-02 13:27:39

回答

2

通過創建一個空的局部變量,然後設置變量是一個JSON格式是這樣解決的:

var json = ''; 
json = '{"url":' + '"' + URL-FROM-OPEN-TAB + '"' + '}'; 
var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "MY-API-URL", true); 
    xhr.setRequestHeader("Content-Type", "application/json"); 
    xhr.send(jsonUrl); 

不要知道爲什麼這工作,而不是其他,但我很高興!