Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   XMLHttpRequest как с php передать массив на яваскрипт? (https://javascript.ru/forum/misc/45751-xmlhttprequest-kak-s-php-peredat-massiv-na-yavaskript.html)

wadim 14.03.2014 20:53

XMLHttpRequest как с php передать массив на яваскрипт?
 
Открываем скрипт php c помощью XMLHttpRequest(открывать открываю).
Но не работает код cwet= <?=json_encode($cwet);?>; , где cwet - это массив.
Как сделать чтоб заработал код?


У меня написано так:

xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
if (xhttp.readyState==4 && xhttp.status==200)
document.getElementById("ajax").innerHTML=xhttp.re sponseText;

cwet= <?=json_encode($cwet);?>;

А <b><p id='ajax'> </p></b> я вообще убрал, так как и с ним не работало.

danik.js 14.03.2014 22:53

Че-то ты непонятное делаешь. Надо так:
header('Content-Type: application/json');
echo json_encode($cwet);
exit();

wadim 16.03.2014 09:08

Я так понял это код для сервера, на клиенте я получил
["#00FF30\n","#00FF30\n","#00FF30\n"]
Откуда добавились двойные кавычки? , перенос строки /n тоже не нужен, [ - это тоже не нужно, надо так

#00FF30
,#00FF30
,#00FF30

это должен быть массив.

Это я на клиенте сейчас имею значение или массив $cwet, мне нужно массив $cwet перезаписать в массив cwet обязательно на яваскрипт(клиент).

danik.js 16.03.2014 14:05

ЭТО JSON. На клиенте его нужно распарсить:
var responseText = '["#00FF30\\n","#00FF30\\n","#00FF30\\n"]';
var response = JSON.parse(responseText);
alert(response[0]); // первый элемент
alert(response.join('')); // соединяем все элементы в одну строку


Перенос строки - это уже сам разбирайся откуда он у тебя берется.


Часовой пояс GMT +3, время: 22:58.