草庐IT

javascript - 使用 CouchDB PouchDB 防止身份验证弹出窗口 401

对于JavaScript网络应用程序(基于AngularJS),我使用PouchDB在我的服务器上复制CouchDB数据库。PouchDB中的身份验证与pouchdb-authentication配合得很好.我想通过html/js登录屏幕来管理它。但是,如果用户输入了错误的凭据,我会从CouchDB服务器收到401Unauthorized,这会导致浏览器弹出窗口要求提供凭据。我怎样才能防止这个丑陋的身份验证弹出窗口并只处理我的javascript中的所有内容?! 最佳答案 我终于找到了解决方案:编辑CouchDB配置local.in

javascript - 更新文档时的 pouchDB query() 错误

假设我有这三个文件:{"_id":"11111","type":"template","name":"person"}{"_id":"22222","type":"template","name":"place"}{"_id":"33333","type":"template","name":"thing"}我有一个云数据库,然后我有一个从该数据库同步pouchDB的设备。这些是我执行的步骤:我将两个数据库同步在一起。所以现在我的设备上有此文档的最新版本。我运行以下查询,然后像这样取回所有三个模板:代码vartemplate_obj={};returndevice_db.query('

javascript - PouchDB 身份验证触发 CORS 预检请求

以下代码(使用PouchDBAuthentication插件)失败,因为它触发浏览器发送CORS预检请求,并且CouchDB不支持OPTIONSHTTP方法。vardb=newPouchDB("http://localhost:5984/mydb");db.login('username','password');//assumethedatabaseURLandlogininfoarevalid这是错误(在Chrome中)。请注意,此问题也出现在Edge中,但不会出现在Firefox中:XMLHttpRequestcannotloadhttp://localhost:5984/_se

windows - 使用 google Chrome V22 将数据从 CouchDB 复制到 PouchDB 以在 Windows 7 上进行离线存储

我正在尝试使用从CouchDB提取数据的代码将数据从CouchDB复制到PouchDB以进行离线存储:db.replicate.from('http://test.iriscouch.com/todo','idb://todo',function(err,changes){if(err){console.log(err);}else{console.log(changes);}});$scope.loadTodos(response.rows);我收到这些错误:加载资源失败:服务器返回状态405(不允许的方法)XMLHttpRequest无法加载http://test.iriscouc

javascript - 如何从 PouchDB 导入/导出数据库

如何从本地PouchDB数据库导入/导出数据库?我需要保存我的本地数据库并在不同的平台上打开它。服务器端没有CouchDB。 最佳答案 有些功能由了不起的@nolanlawson编码。您不仅可以导入/导出它,还可以用它做各种事情。太棒了。PouchDB复制流https://github.com/nolanlawson/pouchdb-replication-streamReadableStreamsandWritableStreamsforPouchDB/CouchDBreplication.Basically,youcanrepl

javascript - PouchDB 的外部访问,同步时出错

我正在创建一个从本地CouchDB中提取数据的应用程序。但是,当我将远程数据库url从localhost:5984更改为我的ip:5984以便我可以从我的手机进行测试时,当我从远程设备同步时出现以下错误{"status":0,"name":"unknown","message":"getCheckpointrejectedwith","result":{"ok":false,"start_time":"2017-08-17T11:14:48.510Z","docs_read":0,"docs_written":0,"doc_write_failures":0,"errors":[],"

javascript - PouchDB 检查本地数据库是否存在

问题很简单,但即使通过互联网和pouchdb源进行详尽搜索,我也找不到检查本地数据库是否存在的函数。此用例是检查本地数据库是否已存在,然后将成功登录设为可选。最好的问候 最佳答案 确实有一个可用的skip_setup选项。如thedocumentation中所述,默认情况下,PouchDB会检查数据库是否存在,如果不存在则尝试创建它。您可以将此选项设置为true以跳过此设置。启用此选项后,如果您查询数据库信息时数据库不存在,您将得到一个错误,例如:constdb=newPouchDb('DB_URL_OR_NAME',{skip_s

javascript - pouchdb 删除 allDocs javascript

我是pouchdb的新手,我无法理解API。我想知道用javascript代码删除所有文档的最佳方法是什么。我尝试了很多东西,但没有任何效果。我是否必须在allDocs方法中使用一些选项,例如:db.allDocs({include_docs:true,deleted:true}) 最佳答案 抱歉,API太困惑了!如果您能让我们知道如何改进它,那将会很有帮助。:)您可以执行db.destroy(),它完全删除数据库但不复制删除,或者您可以单独remove()所有文档:db.allDocs().then(function(result

ios - CouchDB/PouchDB 用户认证/授权

我一直在开发Angular/Ionic应用程序,并使用OAuth.io插件处理facebook登录以获取用户信息。从中,我根据用户的名字和他们的FacebookID号码导出了一个简单的数据库名称。我想做的是将此本地pouchDB实例同步到在线CouchDB实例(当前使用http://iriscouch.com)以复制到桌面应用程序或类似的东西。我缺少的部分是如何处理用户身份验证/授权,以便只能读取和写入他们自己的数据库,而没有其他人的,因为所有代码目前都在客户端,没有应用程序服务器来处理任何登录,除了OAuth.io插件。这是否可以在不添加应用程序服务器层且无需手动干预在CouchDB

android - ionic 框架同步数据和离线工作

我正在使用ionic框架开发一个应用程序,它将从使用laravel构建的API中获取一些数据,将其保存在数据库中,这样当用户离线时他可以继续使用该应用程序,我做了一点在互联网上研究并发现了一个名为pouchDB的插件,是否推荐用于我需要的插件?最好的方法是什么? 最佳答案 根据您希望缓存的数据量,您可以将其保存在本地存储中。逻辑是这样的:向您的API发出$http请求在.success中将响应字符串化并存储在本地存储中在.error解析存储的本地存储响应从.success和.error填充相同的$scope变量>这样,如果您的请求成