2014-01-03 2 views
0

Как бы я поймал 2 ответа (в эхо) из моего Php с xmlhttp.responseText?Ловля 2 разных xmlhttp.responseText за один раз

Мой PHP отправляет это обратно:

echo "error1"; 
echo "error2"; 

Теперь мне нужно, чтобы поймать эти 2 эхо-сигналов и основно «разбить» их, так что я могу сделать это, например

document.getElementById("errorDIV").innerHTML=xmlhttp.responseText; 

document.getElementById("ERROR2DIV").innerHTML=xmlhttp.responseText2; 

Так errorDIV становится текст «error1» и ERROR2DIV становится текстом «error2».

Как мне это сделать?

Заранее спасибо.

ответ

0

Вы не можете. На вашем сервере всего 1 ответ. Тем не менее, вы можете обернуть ответ сервера в формате, который клиент может прочитать, например, xml или более предпочтительный json.

Из xml/json/например, вы фактически получаете объект с несколькими значениями. Оттуда вы можете присвоить разные значения различным dom-элементам.

3

Вы должны изменить вывод вашего PHP скрипта так, что она включает в себя разделитель, например .:

echo "error1"; 
echo " || "; 
echo "error2"; 

Теперь на стороне клиента, вы можете расколоть responsetext в яваскрипте массив:

var responseArray = xmlhttp.responseText.split("||"); 
document.getElementById("errorDIV").innerHTML=responseArray[0]; 
document.getElementById("ERROR2DIV").innerHTML=responseArray[1]; 

Есть более чистые способы, вы можете узнать, как выводить JSON в PHP и как использовать вывод в JavaScript.

+0

Да, уже думал, что это будет так, спасибо! – user2911924

Смежные вопросы