如何通过纯 angularJS 连接到 Cloudant 数据库

How do I connect to a Cloudant database through pure angularJS

我一直在使用 JSON 字符串来存储我的数据,并且正在考虑迁移到 Cloudant。我一直在努力寻找教程或示例代码,但似乎不存在(有一个使用 RESTAPI 的 Node + Angular,但我是 NodeJS 的初学者并且看不到将其附加到 AngularJS)

的方法

我目前使用此代码连接到我的 local.json 文件

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http.get("data.json")
    .success(function(response) {$scope.experience = response.experience;});
}

谁能帮我连接到 Cloudant 数据库?

根据您在以下链接中找到的问题:

https://cloudant.com/blog/chaise-blog-building-a-diary-with-angular-js-grunt-js-and-cloudant/#.VjuuD6QT2ko 这篇文章有一个关于如何通过以下方式连接到 cloudant 的示例代码:

$http({
    url: [root, post._id].join('/')
  , method: 'PUT'
  , data: post
  })
  .success(function(data, status){
    post._rev = data.rev;
    $timeout(_autosave, 5000);
  })

Accessing the DB in Cloudant with Angular refers to a cloudant article which you can apply to angularjs https://cloudant.com/for-developers/crud/#browser-update

您可以尝试一些事情:

  1. API 键 https://docs.cloudant.com/authorization.html

阅读 Cloudant API 键后,尝试在调用前添加一个键,如下所示:

https://<YOUR API KEY>:<YOUR API KEY PASSWORD>@<YOUR CLOUDANT USERNAME>.cloudant.com/<YOUR DATABASE NAME>

从长远来看,这显然不是好事,b/c 您将在客户端代码中获得您的信誉,任何查看您的 Javascript 的人都可以看到。

您可能想要重新研究 Node,以避免这种情况。查看 Cloudant 支持的 Node 库:https://github.com/cloudant/nodejs-cloudant

  1. 在 Cloudant 中启用 CORS https://docs.cloudant.com/cors.html

这将允许您的客户端代码 运行 在例如 127.0.0.1 上发出 Cloudant 请求。 (确保 everyone 具有 _reader 权限。)

您还可以做很多其他事情,例如创建代理,但这应该可以让您继续。

我终于弄明白了。不知道如何或为什么没有关于开始时需要什么 header 值的明确文档,我想我会分享我发现的内容:

您首先必须通过 cloudant 网站启用 CORS 设置 -- (Users > Cors > Enable cors),然后在您的 http 请求中将 withCredentials 设置为 true。

此处提供了完整的连接代码: https://github.com/gweennnnn/cloudantangularconnect