Цитата:
Цитата:
ройтесь в скрипте. покажите его. |
Цитата:
Скрипт тестовый, хотел понять, как работает передача данных из JS в PHP. Так пока и не понял. Правда ,если пойти другим путем - в php сгенерить форму со скрытым полем, типа <form method="post"> <input type="hidden" name="tform" value="" /> </form> А в скрипте написать var f = document.forms[0]; f.tform.value = params; f.submit(); То потом в $_POST можно этот params успешно отловить. Есть ли косяки у такого способа, по сравнению с XMLHTTPRequest? |
да-он синхронный. правда, можно указать target форме.
используйте ajax. |
Цитата:
Не передается, хоть тресни - что POST, что GET. Причем пробовал даже на разных хостингах. Могут ли какие то настройки PHP на сервере на это влиять? В любом случае спасибо вам за помощь! |
нет. это мы запрос неверно отправляем :)
с таким кодом : var callback = function(data,req){ // выполнится по завершении запроса. this - req. alert(data); }; var ajax=new XMLHttpRequest(); ajax.onreadystatechange=function(){ if( ajax.readyState==4 ){ callback.call( ajax,ajax.responseText,ajax ); } }; ajax.open("POST", "/echo/html/"); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("myvar=mylolko"); данные (myvar=mylolko) отправляются. я проверил в jsfiddle :) |
Цитата:
Спасибо! Данные действительно передаются, только обработчик то мой ничего обратно не возвращает, поэтому на странице, с которой вызывался скрипт, ничего и не меняется. responseText вернул всё правильно, теперь вопрос, что с этим делать :) В общем следующий вопрос, попробую сформулировать, и заранее прошу прощения за тупость :) Вот возьмем нмой пример. Если мы вызываем JS скрипт из некоего php, а обрабатывает POST, сделанный в этом JS скрипте, снова тот же php-файл, то в responsetext у нас оказывается целиком результат работы php, т.е. фактически вся страничка. Значит ли это, что php-обработчик, который мы вызываем в ajax.open, должен быть отдельным, другим php, не тем же самым, в котором мы формировали страничку для пользователя с картинкой и прочим? Т.е. в нем я уже сделаю нужные манипуляции, а потом выведу responsetext куда мне надо через document.getElementById к примеру? Или же можно из responsetext как-то выдрать нужный мне элемент сразу? Еще раз спасибо вам, кажется я стал потихоньку понимать, как что работает :) |
Цитата:
Цитата:
Цитата:
// ajax responseText var text = '<body>*!*<div class="myclass">нужный текст</div>*/!*<div>ненужный текст</div></body>'; // создаем контейнер var a = document.createElement("span"); // помещаем в него загруженный html a.innerHTML = text; // вуаля. в контейнере полноценные html-элементы var myElement = a.querySelector("div.myclass"); // для проверки выведем его содержимое alert( myElement.innerHTML ); // "нужный текст" |
Часовой пояс GMT +3, время: 12:53. |