从HTML脚本访问CouchDB时rdb.logIn不是函数,如何解决?
CouchDB前端调用logIn报错的解决方案
报错信息:Error is =>script.js:89 Uncaught TypeError: rdb.logIn is not a function
错误根源:你代码中rdb被赋值为字符串类型的CouchDB库地址,普通JS字符串没有内置logIn方法,调用不存在的方法就会抛出上述类型错误。
具体解决步骤如下:
- 第一步:引入CouchDB对应的前端操作SDK,常用的选择是PouchDB,可通过npm安装后导入项目,或是直接下载PouchDB的静态JS资源放入项目中通过
<script>标签引入页面。 - 第二步:初始化PouchDB实例,而非直接给变量赋值地址字符串,正确初始化代码如下:
const rdb = new PouchDB('http://localhost:5984/r') - 第三步:调用实例的登录方法,示例代码如下:
rdb.logIn('admin', 'password') .then(res => { // 登录成功后的业务逻辑 }) .catch(err => { // 处理登录失败场景,比如账号密码错误、权限不足等 }) - 额外配置提示:前端直接调用CouchDB接口会触发跨域限制,需要提前在CouchDB服务端配置中开启CORS,允许你的前端页面所在的源地址访问服务接口,避免跨域报错。
内容的提问来源于stack exchange,提问作者Andrews Gilbert
相关产品推荐
相关产品推荐

