Отправить массив на сервер
Всем привет!
Я тут запилил массив и хочу с помощью ajax заслать его на сервер и там записать, используя php. Фреймворков не юзаю. К печали, получаю на сервере строку, склеенную из массива, т.е. запятые повсюду. Хочу иметь именно массив, чтоб его так, построчно (будет html-разметка типа). var uri = "spisok.php"; var xhr; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } if (xhr){ xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if(xhr.status == 200) { document.getElementById("текст2").innerHTML = xhr.responseText; } } }; xhr.open('POST', 'spisok.php', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send("a=" + наЗапись); } else{alert("Ошибка при создании XMLHttp запроса");} сервак: <?php $a = $_POST["a"]; $count=count($a); $h = fopen("q.html","w"); fwrite($h,$a); /*for ($i=0; $i<$count; $i++){ fwrite($h,$a[$i]."/n"); }*/ fclose($h); ?> |
Массив ты передать никак можешь. Ты можешь передать только строку.
Есть замечательный формат данных JSON. Почитай про него и передавай свой массив в этом формате - и javascript, и php имеют нативные функции для конвертации данных и в JSON, и обратно. |
ОК
на крайняк split попробую |
Цитата:
xhr.send("a[]=abc&a[]=cde&a[]=fgh"); На серваке получим массив. Это такая фишка PHP (но не только). |
Часовой пояс GMT +3, время: 17:48. |