невозможно проверить AJAX ResponseText - PullRequest
0 голосов
/ 13 ноября 2011

Мой PHP-код отвечает на вызов AJAX разными строками, в зависимости ... поэтому я хочу проверить ответ, но я не смог этого сделать. Я обнаружил, что responseText был неопределенного типа, поэтому попробовал приведение типа:

if (String(xmlhttp.responseText)=="OK")
{
    // do something
} else
{
    // display the responseText
    document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}

Угадайте, что отображается? ХОРОШО. (То же самое без распечатки). Почему?

Ответы [ 2 ]

1 голос
/ 13 ноября 2011

Если здесь действительно не больше, чем мы видим, ваша строка должна содержать пробел или другие непечатаемые символы. Попробуйте обрезать его перед сравнением.

Редактировать Также попробуйте включить запись консоли в оба блока 'if' и 'else' - возможно, ваш метод вызывается несколько раз неожиданно и возникает странное условие гонки.

0 голосов
/ 17 мая 2012

Попробуйте следующее:

var text = xmlhttp.responseText.trim();//use trim()

if (text=="OK"){
    // do something
}else{
    // display the responseText
    document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}
...