2014-12-02 99 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); 

不要知道为什么这工作,而不是其他,但我很高兴!