Код (Text): function send() { var o = $('#o').val() $.ajax({ type: "POST", url: "index.php", data: "o="+o, success: function(o){alert(o); } }); } Код (Text): <form method="post" action="index.php"> <input id="o" type="text" name="o" value="4156"><br> <input type="button" onclick="send();" value="Отправить" /> </form> у меня выодится во всплывающем окне полный код страницы и передаваемое значение в конце, а мне нужно просто получить в $_POST['o'] значение переменной "o" без кода всей страницы и перезагрузки страницы. Знаю, что дело в success, но не знаю как правильно написать. Подскажите, пожалуйста.
Смотри документацию по jquery http://api.jquery.com/jquery.ajax/ Код (PHP): var request = $.ajax({ url: "script.php", method: "POST", data: { o : 'test' }, dataType: "html" });
Re: передать зн-е переменной в $_POST без кода стра странийц К сожалению в переменной " o " у вас приходит все, что на главной странице, этого не избежать. Если бы вы сделали отдельный файл в котором вернули бы только $_POST, то да, а так не... не канает такое, ответ в js приходит от сервера полностью.
Re: передать зн-е переменной в $_POST без кода стра странийц В запросе, передаваемом на сервер, можно прокинуть флаг, мол это ajax, бро. Тогда можно, по факту наличия этого флага в теле запроса, обрабатывать только то, что нужно и отсылать только то, что хочется. А если флага нет, то тогда всю страницу процессить. Либо да, слать запрос на отдельный скрипт. Так или иначе это решаемая задача. Просто нужно выбрать правильное архитектурное решение для нее.
Re: передать зн-е переменной в $_POST без кода стра странийц Тоже подумал про вариант с отдельным файлом. И кстати такой вариант меня вполне устраивает. Вопрос только в том, как можно увидеть, что значение в переменную $o все таки занеслось в другом файле? Вывод переменой на экран echo $o конечно есть, но выводится значение NULL, если допустим внешний файл с переданным значением подключить через include.
Re: передать зн-е переменной в $_POST без кода стра странийц Если запрос пришел и если вы записали переменную, то она записана, можете быть уверены.
Re: передать зн-е переменной в $_POST без кода стра странийц А кто то сталкивался с таким? При выводе значения переменной выводится число 1360008 в строке success, вместо любых значений input. Было все нормально, пока в data не добавил вторую переменную. Втора переменная приходит, а вот первая теперь становится NULL. Код (Text): <script> $(document).ready(function () { $('.button').click(function() { var val=$('#o').val(); var zn=$('#a').val(); $.ajax({ type:"POST", data:{o:val,k: zn}, url:"test.php", dataType:"json", success: function(data){ alert(data); } }); }); }); </script>
Re: передать зн-е переменной в $_POST без кода стра странийц 1) Которая из них вторая, которая первая? 2) Которая становится NULL? 3) А на стороне сервера обработку второй переменной не забыли сделать?
Re: передать зн-е переменной в $_POST без кода стра странийц Значение переменной Код (Text): o:val стало равняться null на стороне сервера не забыл. По одной переменной все нормально, а при передаче двух происходят глюки Код (Text): $o=json_encode($_POST[o']); $k=json_encode($_POST['k']);
Re: передать зн-е переменной в $_POST без кода стра странийц Воу. Вы уверены, что знаете, что делаете? Посмотрите, что вам приходит в POST: var_dump($POST);
Re: передать зн-е переменной в $_POST без кода стра странийц Значение в переменные javascript попадает (проверил alert'ом). Значение переменной var_dump($POST); не смог отобразить на экране, но при сохранении в файл первая переменная принимает значение null, вторая переменная с нормальными данными.
Re: передать зн-е переменной в $_POST без кода стра странийц Проверял так Код (Text): echo "Значение=".var_dump($_POST); , но даже слово значение не высветилось. Пытался проверить подключив файл с куда передаются переменные $_POST в основной файл с формой html Код (Text): <?php include "test.php"; ?> Можно я еще раз покажу Javascript код, а вы посмотрите? Может все таки где то ошибка. Код (Text): $(document).ready(function () { $('.button').click(function() { var val=$('#o').val(); var k=$('#k').val(); $.ajax({ type:"POST", data:{o:val}, data:{k:k}, url:"test.php", dataType:"json", }); }); }); В данном коде наконец то стала передаваться первая переменная Код (Text): data:{o:val}, , а вот Код (Text): data:{k:k}, приняла значение null. Жесть какая то. Добавлено спустя 7 минут 12 секунд: Re: передать зн-е переменной в $_POST без кода стра странийцы УРА, получилось. В JS написал Код (Text): data:{o:val,k:k}, вместо Код (Text): data:{o:val}, data:{k:k}, и сразу первая со второй переменной сохранились.