2016-08-02 6 views
2

私は現在PouchDBを自分のDBとして使用していますが、私はCloudantをリモートサービスとして使用しています。私は現在ドキュメントを作成しようとしていますが、関数を呼び出すとエラーが発生します。Uncaught ReferenceError PouchDB

私はどこが間違っているのか分かりますか? URLが間違っているか、構文が間違っていますか?

Uncaught Reference Error: PouchDB is not a constructor

これは私がこのコードのセットのための私の挿入コードを変更し

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> 

Update

私のjavascriptのコードである

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!ですが、私の雲のダッシュボードはまだ0のdocを示しています。理由を知ることができますか?

window.PouchDB = db; 

を並べる

+0

'PouchDB'はコンストラクタではありません。 'new PouchDB(...)'で 'new'を宣言しません。 – Hydro

+0

@TheProHandsだから 'var db = PouchDB(" todos "); ' ' var remoteDB = PouchDB( "http://example.cloudant.com/example"); '? – Alvin

+0

それはエラーですが、それは正しいですが、図書館はそのページを見た後にコンストラクタだと言います。 – Hydro

答えて

1

削除は、私はそれが問題だと思います。ボタンをクリックすると、グローバルPouchDBは変数dbを生成し、それがコンストラクタにならないようにします。

エラーが引き続き発生する場合は、@ gcampbellコメントが正しいはずですか?

+0

を試してみましょう。エラーはありませんが、挿入機能を実行しようとしましたが、まだクラウドには作成されているドキュメントが表示されません。私のホストリンクなどに問題はありますか? – Alvin

+0

@Alvinこのページを確認してみてください:https://pouchdb.com/getting-started.html#write_todos_to_database。第2引数に 'put'メソッドのコールバックを追加して、結果を言うことができます。 – Hydro

+0

こんにちは、私は更新し、与えられた結果を示しました。問題は持続する、私はなぜ知っているかもしれない? – Alvin

関連する問題