【问题标题】:Posting to MongoDB from Chrome Extension从 Chrome 扩展发布到 MongoDB
【发布时间】:2017-10-16 00:57:40
【问题描述】:

是否可以直接从 chrome 扩展脚本调用 mongodb(mongolab.com 服务器)上的 post-method?

我需要这个,因为我有一个单独的服务器脚本,我不希望用户访问。我想直接从扩展中发布并从该服务器获取。

我按照@mnemosyn 的建议做了,但仍有一些问题。我的扩展程序不会发布到我的数据库。从后台脚本调用下面的代码片段:

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

【问题讨论】:

  • 呃,永远不要跳过服务器! Mongolab 是一个 mongodb 主机,您根本不想将数据库暴露给公共互联网。在后端代码中实现该隐藏方法,并使用一些 Web 标准身份验证方案(例如 OAuth 或 HTTP Basic 身份验证)授权对其调用。直接访问数据库很危险,而两层架构几乎总是一个坏主意。

标签: javascript mongodb google-chrome-extension mlab


【解决方案1】:

通过创建一个空的局部变量来解决,然后将变量设置为 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);

不知道为什么这个行得通而不是另一个,但我很高兴!

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2011-11-15
    • 1970-01-01
    • 2020-12-26
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多