javascript hatası: değişkeni tanımlı değil

0 Cevap php
to is not defined
[Break on this error] setTimeout('updateChat(from, to)', 1); 

Ben bu hatayı alıyorum ... Ben test etmek için Firebug kullanarak yaşıyorum ve bu Konsolu çıkageldi. Hata chat.js ve bu satırı sarar bütün işlevi ve 71 hat karşılık gelir:

function updateChat(from, to) {

    $.ajax({
        type: "POST",
        url: "process.php",
        data: {
            'function': 'getFromDB',
            'from': from,
            'to': to
        },
        dataType: "json",
        cache: false,
        success: function(data) {

            if (data.text != null) {
                for (var i = 0; i < data.text.length; i++) {  
                    $('#chat-box').append($("<p>"+ data.text[i] +"</p>"));
                }
                document.getElementById('chat-box').scrollTop = document.getElementById('chat-box').scrollHeight;
            }
            instanse = false;
            state = data.state;
            setTimeout('updateChat(from, to)', 1); // gives error
        },  
    });
}

Işlev çağrısı getFromDB ve bunun için kodu ile process.php Bu bağlantıları olduğunu:

case ('getFromDB'):

    // get the sender and receiver user IDs from their user names
    $from = mysql_real_escape_string($_POST['from']);
    $query  = "SELECT `user_id` FROM `Users` WHERE `user_name` = '$from' LIMIT 1";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_assoc($result);
    $fromID = $row['user_id'];  

    $to = mysql_real_escape_string($_POST['to']);
    $query  = "SELECT `user_id` FROM `Users` WHERE `user_name` = '$to' LIMIT 1";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_assoc($result);
    $toID = $row['user_id'];

    $query = "SELECT * FROM `Messages` WHERE `from_id` = '$fromID' AND `to_id` = '$toID' LIMIT 1";
    $result = mysql_query($query);
    while($row = mysql_fetch_assoc($result)) {

        $text[] = $line = $row['message'];
        $log['text'] = $text;

    }

    break;

Bu yüzden hata veriyor hattı ile karıştı. setTimeout('updateChat(from,to)',1); işlevi geldi updateChat aynı parametreler parametreler değil mi? Ya da başka bir yerden çekti ve ben ve başka bir yerden tanımlamak zorunda ediliyor? Nasıl bu hatayı düzeltmek için herhangi bir fikir?

Thanks, Hristo

0 Cevap