С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/75: Рейтинг темы: голосов - 75, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 11

Ajax в $_POST не чего не передает

23.03.2014, 18:07. Показов 13966. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите люди добрые) че за... целый день $_POST = empty, хотя в консоль браузера данные приходят. Может быть что в apache что то не включено?

вот мое творение index.php:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<head>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
    <? var_dump($_POST); ?>
    
    <form action="index.php" method="post" id="myform">
        <input type="text" name="" id="text" />
        <input type="button" value="go" />
    </form>
    
    <script type="text/javascript">
        $("#myform").click(function(e){
            $.ajax({
                url : "index.php",
                type : "POST",
                data : {text: $("#text").val()},
            });
        });
    </script>
    <? var_dump($_POST); ?>
</body>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2014, 18:07
Ответы с готовыми решениями:

Ajax не передает строки
$(document).ready(function () { $('#submitBtn').click(function () { var login = $('#login').val(); var pass =...

JQuery ajax $_POST
Написал такой ajax запрос: $.ajax({ url: &quot;engine/displayMarker.php&quot;, type: &quot;POST&quot;, data: { distance: radius...

Ajax форма не передает данные
Здравствуйте. Совсем не дружу пока что с JS. Вот есть форма и ajax запрос &lt;script...

18
 Аватар для TAB
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
23.03.2014, 18:47
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$("#myform").on('submit', function(e) {
  $.ajax({
    url : "index.php",
    type : "POST",
    data : {text: $("#text").val()},
    success: function (response) {
      alert(response);
    }
  });
 
  e.preventDefault();
});
0
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 11
23.03.2014, 18:55  [ТС]
Спасибо конечно, но так даже в консоль перестали данные приходить.
0
0 / 0 / 2
Регистрация: 23.03.2014
Сообщений: 9
23.03.2014, 19:34
Лучший ответ Сообщение было отмечено griboff как решение

Решение

Ну правильно, ты сначала выводишь post, а только потом по нажатию что-то отправляешь, поэтому ничего и не показывается

index.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
    <!-- <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> -->
</head>
<body>
    <? echo "<pre>".print_r($_POST, 1)."</pre>"; ?>
    
    <form action="index.php" method="post">
        <input type="text" name="text" />
        <input type="submit" value="go" />
    </form>
</body>
</html>

или так index.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
 
        <input type="text" name="" id="text" />
        <input type="button" value="go" id="mybutton"/>
    
    <script type="text/javascript">
    $(document).ready( function(){
        $("#mybutton").click( function(){
            $.post('post.php', {text: $("#text").val()}, function(data){
                alert(data);
            });
        });
    });
    </script>
</body>
</html>
post.php
PHP
1
<? echo "<pre>".print_r($_POST, 1)."</pre>"; ?>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
23.03.2014, 19:36
TAB, там нет кнопки submit, да и дело совсем не в этом .
griboff, а вы чего добиться хотите? Думали, что var_dump выведет вам на страницу данные, отправленные в POST-запросе? Не угадали! var_dump отработал своё при загрузке и на этом его миссия окончена. Работает ли он при ajax-запросе? Конечно. И в этом вы можете убедиться, взглянув в ту же консоль. Следующий ваш вопрос: "А почему ж не отображается на экране?" Потому, динамические изменения DOM и данных страницы, выполняются на клиенте, а не сервере.
1
 Аватар для Freeden
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
24.03.2014, 03:53
PHP
1
<? echo "<pre>".print_r($_POST["textnode"], 1)."</pre>"; ?>
JavaScript
1
<input type="text" name="textnode" id="text" />
Добавлено через 14 минут
HTML5
1
<input type="submit" value="go" />
* *
0
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 11
24.03.2014, 14:05  [ТС]
Спасибо почти разобрался.
0
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
25.03.2014, 18:31
ребят скажте, а можно ли оправлять даннные методом $.ajax или $.post НЕ через input ? например из DIV вот как описано тут http://kauravalegh.com/archives/717 оно имеет право на жизнь?
сколько не пытался, сам реализовать такой не смог
или это фейк? (просто больше я нигде встречал такого - везде делают скрытые поля форм и передают чрез инпут)

а то вот у меня задачка - таблица HTML (уважаемого Lazy_Den уже наверно тошнит от неё =) ), и нужно знчения яйчеек предавать базу в mySQL (счтай в PHP-файл) аяксом (впринипе можно НЕ днамически - обычным $.post)
вот щас у меня такой гемор:
джей-квери берёт строку таблцы, берёт первую яйчеку, её пару имя(имя колонки)= значение(в яйчейке) и налету создаёт input для этой яйчейки с name=имяКолонки и value=значение в яйчйке, такм образом если яйчеек в строке 15 - от создаёт 15 скрытх инпутов,
дальше все пары имя=значения из инпутов серализуются в массив встроенной serializeArray() и по нажатию кнопки отправляется с помощью метода $.post в PHP джейсоном и там уже легко данные разбираются для отправки в БД

вот меня терзают сомнения что как-то всё геморно у меня))), плюс передаётся то только лишь 1 строка - естественно вываливается в php-файл - типо всё, работа закончена)) , и как реализвать чтобы все строки серализовалсь отпралялись сразу я ума не прложу - а потом их в PHP ещё рагребать...

есть идея замутить через .ajax - чтоб по одной строчке как описывал выше разбирал и отпралял в PHP а оттуда в MYSQL, , при этом не презагружая страницу, но опять же при таком подходе: 100 строк таблицы = 100 подключений и инсертов в БД o_O
хотя мож как сделать чтоб пришедщие дааные накапливались в массиве php и потом уже раззом в один запрос инсёртились

буду рад любым комментариям)))
0
 Аватар для Freeden
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
25.03.2014, 19:07
С помощью метода post аяксом можно передавать все, что угодно. Например так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script>
var param2 = "hello I am param2";
$.post(
  "ajaxtest.php",
  {
    param1: "param1", //передаем строку
    param2: param2 //передаем переменную
  },
  onAjaxSuccess
);
 
function onAjaxSuccess(data)
{
  // Здесь мы получаем данные, отправленные сервером и выводим их на экран.
  alert(data);
}
</script>
PHP
1
2
3
4
<?php
  // файл ajaxtest.php 
  echo "I get param1 = ".$_POST['param1']." and param2 = ".$_POST['param2'];
?>
Добавлено через 15 минут
Цитата Сообщение от crazymActep Посмотреть сообщение
джей-квери берёт строку таблцы, берёт первую яйчеку, её пару имя(имя колонки)= значение(в яйчейке) и налету создаёт input для этой яйчейки с name=имяКолонки и value=значение в яйчйке, такм образом если яйчеек в строке 15 - от создаёт 15 скрытх инпутов,
В jQuery есть функция serializeArray(), которая возвращает массив объектов, содержащий данные элементов формы:
HTML5
1
2
3
4
<form>
  <input type="text" name="name1" value="1" id="a" />
  <textarea name="name2" rows="8" cols="40">2</textarea>
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  var s = $('form').serializeArray();
$.post(
  "ajaxtest.php",
  {
    param1: s
  },
  onAjaxSuccess
);
 
function onAjaxSuccess(data)
{
  // Здесь мы получаем данные, отправленные сервером и выводим их на экран.
  alert(data);
}
PHP
1
2
3
4
<?php
  // файл ajaxtest.php
print_r($_POST["param1"]);
?>
То есть аяксом отсылаются значения , затем на сервере разбираете и уже формируете запросы к БД. Причем если вы планируете значения из форм записывать в БД, то их необходимо еще проверять на предмет наличия вредоносного кода.
1
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
25.03.2014, 21:34
спасибо за ответ, значит необязательно в input пихать)))
пре serializeArray() знаю, ей и пользовался

посоветуйте как реализовать отправку значений из всех строк таблицы разом?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
25.03.2014, 23:04
Цитата Сообщение от crazymActep Посмотреть сообщение
посоветуйте как реализовать отправку значений из всех строк таблицы разом?
В каком виде они должны отправляться? Как массив? Как многомерный массив, где каждый подмассив - это отдельная строка? Или еще как-то?
1
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
26.03.2014, 01:27
каким спсобом отправлятся - это и есть вопрос
щас разложу
вот есть моя присловуютая html-table:
http://crazymactep.ru/img/table.JPG
задача: собственно создать точно такую таблицу в mysql, те с колонками one, two, three и значенями из этой таблицы (на деле конеш не всё так примитивно как на картинке, но принцип такой, HTML-таблиицы создаются всё-время с разными значениями так что вариант 'вбей вручную данные в phpMyAdmin' не канает=) )

и вот каким способом и как это реализовать это ВОПРОС

единственное что я смог сделать в черновом варанте, это как писал ранее, на лету создавать инпут для каждой яйчейки строки с value - значене яйчейки, а name - имя колонки, так для каждой яйчекйки строки, затем serializeArray(), который берёт все данные и инпутов и сериалзует в ассоц массив name(имя колонки) => value(значение яйчейки)
в php прнимаю постом и отпралаю в базу:
PHP
1
2
3
4
5
6
  $myOne = $_POST['one']); // лежит 01
  $myTwo = $_POST['two']); // лежит 02
$myThree = $_POST['three']); // лежит 03
и тд ... (обработку входящих данных опускаю)
 
$query = "INSERT INTO my_table SET one='$myOne', two='$myTwo', three='$myThree и тд...;
приемущество - такого подхода - я легко ппредал ассоц массв и не возникло путаницы при приеме данных в php и отправки в бд
минус очевиден - возможна отправка лишь одной строк таблицы

щас мнераскрыли глаза что не обязательно чреез инпут и в таком случае я тоже задумался насчёт многомерного массива, как вы написали выше, где каждый массив - отдельная строка,
но только у меня нет даже приблизительных идей как корректно организовать обход всей таблицы ( единственное что представляю это без for или while не обойтсь =) ) и занесением данных в массивы.
Отдельная песня - потом разбор этого многомерного массива в php и определением что куда в БД
но плюс очевиден - можно будет передать все данные в php за раз, и если посстрараться даж потом в БД одним инсёртом.

но я не представляю архитектуру, буду рад если раскинете принцип или мож ссылку на подобные примеры)))
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
26.03.2014, 02:04
Цитата Сообщение от crazymActep Посмотреть сообщение
задача: собственно создать точно такую таблицу в mysql, те с колонками one, two, three и значенями из этой таблицы
Запрос к БД должен быть CREATE TABLE

что-то вроде этого:
SQL
1
2
3
4
5
6
7
8
CREATE TABLE `html_table` (
  `one` INT(11),
  `two` INT(11),
  `three` INT(11),
  `four` INT(11),
  `five` INT(11),
  `six` INT(11)
)
а потом в PHP нужен json_decode и запрос INSERT с вставкой данных
0
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
26.03.2014, 02:09
Padimanskas, уважаемый! обижаете, ну такие то основы я знаю, просто не стал приводть такие банальности в коде)))
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
26.03.2014, 02:45
Цитата Сообщение от crazymActep Посмотреть сообщение
обижаете, ну такие то основы я знаю, просто не стал приводть такие банальности в коде)))
ориентируюсь, так сказать, на уровне изложенного вопроса. Увы, не обладаю телепатическими способностями, уж простите

Цитата Сообщение от crazymActep Посмотреть сообщение
у меня нет даже приблизительных идей как корректно организовать обход всей таблицы
JavaScript
1
2
3
4
var arr = [];
$('table tr td').each(function( i, field ) {
  arr.push($.trim($(field).text()));
});
Цитата Сообщение от crazymActep Посмотреть сообщение
Отдельная песня - потом разбор этого многомерного массива в php и определением что куда в БД
PHP
1
$data = json_decode($json_string, TRUE); // Возвращает ассоциативный массив
1
 Аватар для Freeden
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
26.03.2014, 02:59
Зачем аякс-то? Таблица не динамическая, сразу бы и разбирали ее из php...
1
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
26.03.2014, 15:12
Padimanskas
JavaScript
1
2
3
4
var arr = [];
$('table tr td').each(function( i, field ) {
  arr.push($.trim($(field).text()));
});
спасибо, но так это я получу просто массив со всеми значеями td, как я потом узнаю что соотвествоало какой колонке и строке для отправки в бд?
тут видимо нужно дствительно мноногомерный массив организовать, где каждый массив это строка, а подмассив -(ассциативный) - яйчека, где ключ-имя столбца , а занчение- значение яйчейки
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
26.03.2014, 16:40
JavaScript
1
2
3
4
5
6
7
8
9
var allVal = {};
$('tr').map(function(i,tr){
    return allVal[i] = $('td',tr).map(function(k,td){
        return $(td).text();
    }).get();
});
// Можно упаковать всё это дело в json-строку
var strVals = JSON.stringify(allVal);
// и отправляем на сервер
Там вы получите двумерный массив такого вида:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
 
    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )
 
    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
 
)
Тестируем тут
1
1 / 1 / 1
Регистрация: 21.03.2014
Сообщений: 12
26.03.2014, 22:21
Lazy_Den, большое СПАСИБО! пошёл пытаться решать свою задчку с помощью вашего кода)))

Добавлено через 1 час 16 минут
небольшой вопросик
собрал значения в таблице,
упаковал и отправил:
[JS]
var myData = $('#btnSave').click(function() {
$.post("service.php", meData, "json");
});
[JS]
глянул в файрбаге - дааные пришли всё хорошо, всё правильно,
а как их правильно декодировать (хотяб просто пока в отладке посмотреть)в php ?
PHP
1
var_dump(json_decode($json));
вот $json - то что я должен туда передать это что? имя 'myData' в виде строки в которой лежал закодированый объкт-джейсон?
или как-то постом я сначала должен данные принять сохранить в переменную и ЕЁ уже передать или как?

Добавлено через 35 минут
получилось только ч/з
PHP
1
var_dump(json_decode(file_get_contents('php://input')));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2014, 22:21
Помогаю со студенческими работами здесь

Форма не передает данные, Ajax...
Появилась потребность проверки данных в форме без перезагрузки страницы. Имеется следующий скрипт: $(document).ready(function(){ ...

Ajax запрос передает пустой post, почему так?
Код на jquery, который проверяет правильность введенных данных и отправляет их через ajax методом post в файл register.php ...

select multiple не передает данные в $_POST
Здравствуйте! Второй день ломаю голову над скриптом, обгуглил все что можно но решить проблему так и не удается. Проблема в том что...

$_POST не передает символы, только числа
&lt;?php $mysqli = new mysqli(&quot;mysql.hostinger.com.ua&quot;, &quot;u509951523_testp&quot;, &quot;pass&quot;, &quot;u509951523_test&quot;); if($mysqli-&gt;connect_errno) { ...

Ajax post запрос передает null
Добрый день! Пытаюсь передать на сервер (Core) строку. В результате, что бы не делал приходит null. Не могу понять, что я делаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru