【问题标题】:How to fetch JSON data stored in DocumentDB JSON file to clientside javascript?如何将存储在 DocumentDB JSON 文件中的 JSON 数据提取到客户端 javascript?
【发布时间】:2017-06-26 23:03:22
【问题描述】:

我有一个仅使用客户端代码(JavaScript、Jquery、Html、CSS、Bootstrap)开发的网站。我暂时不打算使用 SQL,因此我正在考虑使用 DocumentDB,因为与该网站相关的数据纯粹是 JSON。目前我的网站在没有任何服务器端编码的情况下工作,但我觉得这不是安全的编码方式,因为我相信当前是我的 Javascript 文件一部分的 JSON 数据一旦我发布/托管网站就会暴露给所有人。我已经完成了如何创建 DocumentDB Azure 帐户、如何创建由 JSON 文件组成的数据库的教程。但我不知道如何使用客户端 Javascript 获取 NOW 服务器端 JSON 数据。现在所有客户端编码部分都在 Jquery 和 JavaScript 中,我正在处理同一个 .JS 文件中的 JSON 数据。 请建议。

【问题讨论】:

    标签: javascript json frontend


    【解决方案1】:

    我对 Azure 上的 DocumentDB 不是很熟悉,但它似乎支持用于 crud 操作的 rest api (link) 所以实现最少工作量的最简单方法是使用 ajax 来获取必要的信息。

    $.ajax({
        type : 'GET',
        url : 'https://{databaseaccount}.documents.azure.com/dbs/{db-id}',
        headers : {
             //your headers here
        },
        success : function(jsondata){
             //do something
        }
    })
    

    但需要注意的是,如果您坚持只使用前端技术(就 DocumentDB 而言,您似乎需要提供授权),您可能需要在前端硬编码凭据标头中的令牌link)。如果您关心安全性,您可能需要做一些后端工作来查询数据库。

    从好的方面来说,如果您已经了解 JS,nodejs 是开始 oO 的理想场所。

    【讨论】:

    • 感谢您的回复和可能的解决方案。我会尝试这个解决方案。我是 Ajax 新手,现在正在学习它。
    • 在我学习 Ajax 时,我认为 .getJSON() 非常适合这种情况。我还在想用什么来代替 url.. 以及我需要哪些其他设置?
    • 如果您已经在 azure 上获得了 documentDB 帐户,您将拥有一个 databaseaccount 和一个 database id 。此外,您将需要一个授权令牌(更多信息:docs.microsoft.com/en-us/rest/api/documentdb/… 和此处:docs.microsoft.com/en-us/rest/api/documentdb/…)但是,请注意,如果您对授权令牌进行硬编码,它很容易被滥用。
    • 我建议使用 curl 或 postman,并在编码之前使用其余的 api。 post man (chrome.google.com/webstore/detail/postman/…) 可以很好地可视化请求。更好的是,您可以一键生成 ajax 请求。
    • 再次感谢您的回复。大多数这些概念对我来说都是新的,我需要自己做一些功课。它有点压倒性..
    猜你喜欢
    • 2021-03-06
    • 2017-12-22
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2018-10-24
    • 2015-07-25
    • 2021-11-10
    相关资源
    最近更新 更多