проблема с eval () - локальный хост против веб-сервера - PullRequest
0 голосов
/ 14 июля 2011
function handleReceive() {
    if (receiveReq.readyState == 4) {
    var chat_div = document.getElementById('div_chat'); 
    var response = eval("(" + receiveReq.responseText + ")");
 .....
    }
}

на локальном сервере строка var response = eval("(" + receiveReq.responseText + ")"); работает нормально, но на сервере (например, 000webhosting.com) код не работает.Я пытаюсь проверить с помощью alert(). На локальном сервере alert(response); возвращает: [object Object], но на веб-сервере я ничего не получил, скрипт останавливается с выполнением здесь.Я пытаюсь вернуть chat_div и все в порядке.Но var response не работает, как любая другая строка после.

Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 04 августа 2011

Если он работает на локальном хосте, но не работает на веб-сервере, проверьте, не является ли URL-адрес запроса жестко заданным в абсолютном пути локального хоста.

Если URL запроса правильный, просто проверьте, что находится в receiveReq.responseText в обоих случаях. Если вы используете PHP для своих серверных скриптов, проблема может заключаться в том, что ваш код генерирует предупреждения или уведомления, а веб-сервер настроен на их отображение, а ваш localhost - нет.

Но вы также правы, говоря, что проблема примерно в eval(), потому что, как сказал @AlienWebguy, проблема заключается в самом факте ее использования здесь. Я уверен, что есть лучшее решение.

...