2016-05-08 9 views
1

Firebaseを使用したチャットを使用するPHPゲームを作成しています。 私は以下のコードを含んでいます。私は何も起こりませんメッセージを送信するために入力に入力してクリックしたときにFirebase "Uncaught TypeError:myDataRef.pushは関数ではありません"

$text = "(...)"; 

のその要素(ここで、(...)は、コードを意味する)

私は、問題を抱えています。クロムは、

Uncaught TypeError: myDataRef.push is not a function

を示していますが、意味がありません。私のコードはFirebase Tutorialのほとんどのコピーですが、その入力はメッセージの前にあり、新しいメッセージが表示されたときには上に移動し、下には移動しません。

<input type='text' id='messageInput' placeholder='Wiadomość'> 
<div id='messagesDiv'></div><br> 
<script> 
    var myDataRef = new Firebase('https://********.firebaseio.com/').limit(15); 
    $('#messageInput').keypress(function (e) { 
    if (e.keyCode == 13) { 
     var name = '".$user->username."'; 
     var text = $('#messageInput').val(); 
     myDataRef.".'push'."({name: name, text: text}); 
     $('#messageInput').val(''); 
    } 
    }); 
    myDataRef.on('child_added', function(snapshot) { 
    var message = snapshot.val(); 
    displayChatMessage(message.name, message.text); 
    }); 
    myDataRef.on('child_removed', function(snapshot) { 
    //do nothing 
    }); 
    function displayChatMessage(name, text) { 
    $('<div/>').text(text).prepend($('<em/>').text(name+': ')).prependTo($('#messagesDiv')); 
    $('#messagesDiv')[0].scrollTop = $('#messagesDiv')[0].scrollHeight; 
    }; 
</script> 

私は何か答えを探しましたが、何も見つかりませんでした。

おかげ

注:Automatyが、そのポーランド:ゲームがここにあります。

+0

これは無効になります 'myDataRef({名前:名前、テキスト:テキスト});'。これはおそらく 'myDataRef.push({name:name、text:text});' –

+0

とは関係ありません。そのPHPの "test"。 "test"。 "test"は "testtesttest"と等しくなります。私は、ソースコードを変更することで、すべてのユーザーが他の人とニックネームで投稿できるので、ヘルプはもはや必要ではないと思います。 – Soaku

答えて

1

クエリオブジェクトにトランザクションを書き込もうとしています。

var myDataRef = new Firebase('https://********.firebaseio.com/').limit(15); 

limit()戻りQuery対象としないDatabaseReference。 。 "。 'プッシュ'"

Instances of Query are obtained by calling startAt(), endAt(), or limit() on a DatabaseReference.

試してみてください:

var myDataRef = new Firebase('https://********.firebaseio.com/'); 
myQuery = myDataRef.limit(15); 
// ... 
myDataRef.push({name: name, text: text}); 
+0

お返事ありがとうございました。あなたはこの質問が古くて、私はFDBが必要ではないことがわかります...しかし、あなたは私の同意を得ました。 – Soaku

+0

私はそう思っていましたが、同様の質問があり、あなたのことを発見しました:) – default

関連する問題