【问题标题】:Uncaught ReferenceError PouchDB未捕获的 ReferenceError PouchDB
【发布时间】:2016-08-02 13:55:56
【问题描述】:

我目前使用 PouchDB 作为我的数据库,并且我使用 Cloudant 作为远程服务。我目前正在尝试创建文档,但是,当我调用该函数时,出现错误。

我可以知道我哪里做错了吗?可能是网址错误还是我的语法错误?

未捕获的引用错误:PouchDB 不是构造函数

这是我的 JavaScript 代码

   function pouchdb() {
        var db = new PouchDB("todos");

        var remoteDB = new PouchDB("http://example.cloudant.com/example");
        window.PouchDB = db;
        var doc = {
        "_id": "Can123",
        "name": "You123",
        "occupation": "See1",
        "age": 3,
        "hobbies": [
          "Watch 9pm show",
          "chasing laser pointers",
          "lookin' hella cute"
        ]
    };

    db.put(doc);        
PouchDB.sync(db, remoteDB);

}

HTML 代码

<button onclick="pouchdb()">pouchdb</button>

更新

我更改了这组代码的插入代码

function pouchdb() {
    var db = new PouchDB("todos");

    var remoteDB = new PouchDB("http://example.cloudant.com/example");
    var todo = {
        _id: "mittens1233",
        title: "hello",
        occupation: "kitten123"
    };
    db.put(todo, function callback(err, result) {
        if (!err) {
            console.log('Successfully posted a todo!');
        }
    });
}

我得到的结果是 Successfully posted a todo!,但是,我的 cloudant 仪表板仍然显示 0 doc。我可以知道为什么吗?

【问题讨论】:

  • PouchDB 不是构造函数。在new PouchDB(...) 中取消声明new
  • @TheProHands 所以应该是var db = PouchDB("todos"); var remoteDB = PouchDB("http://example.cloudant.com/example"); ?
  • 好吧,如果那是错误,那是对的,但是库在我看到它的页面后说它是一个构造函数。
  • @TheProHands 我看过其他页面的例子,他们也做过new PouchDB(...)..所以我非常怀疑这是错误吗?
  • PouchDB 是否加载正确? (顺便说一句,你应该避免使用window.PouchDB = db;,因为window.PouchDB 已经被用于 PouchDB 函数,并且覆盖全局变量会导致奇怪的错误。)

标签: javascript sql pouchdb cloudant


【解决方案1】:

删除该行

window.PouchDB = db;

我认为这就是问题所在。单击按钮后,全局PouchDB 将变量db 转换为不再是构造函数的原因。

如果错误仍然存​​在,@gcampbell 的评论应该是对的?

【讨论】:

  • 现在没有错误,但是,我尝试执行插入功能,但我的 cloudant 仍然没有显示任何正在创建的文档。我的主机链接有问题吗?
  • @Alvin 尝试查看此页面:pouchdb.com/getting-started.html#write_todos_to_database。您可以在第二个参数中为put 方法添加回调,然后为我们说出结果。
  • 嗨,我已经更新并显示了给定的结果。但问题仍然存在,我可以知道为什么吗?
  • 好的,我会为这个 cloudant 问题提出一个新问题。谢谢!
  • 新问题已创建link
猜你喜欢
  • 2023-01-23
  • 1970-01-01
  • 2016-11-03
  • 2011-01-05
  • 2016-01-02
  • 2013-10-06
  • 2016-12-17
相关资源
最近更新 更多