Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка POST через ajax

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Отправка POST через ajax
terzik993
Отправлено: 27 Июня, 2017 - 11:54:02
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2017  


Помог: 0 раз(а)




Есть список элементов с уникальным id и одинаковым классом, я их отправляю через ajax, возникает проблема в том, что все отправляется в одну строчку и php расматривает переданные данные как одно значение. Проблема в том что каждый раз может быть разное количество передаваемых id. Как сделать так что бы php разбивало все на массивы и обрабатывал дальше?
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     <script>
  3.         $(document).ready(function(){
  4.             $("#view").bind("click", function(){
  5.                 $.ajax({
  6.                                 url:"remove.php",
  7.                                 type:"POST",
  8.                                 data:({remove:$("a.set").text()}),
  9.                                 dataType: "html",
  10.                                 beforeSend: function(){
  11.                                         $("#view").html('<div class="loading"><img src="/images/loading_spinner.gif" style="width:100px;"></div>');
  12.                                 },
  13.                                 success: function(data){
  14.                                         $("#view").html(data);
  15.                                 }
  16.                         });
  17.             });
  18.            
  19.            
  20.         });
  21.     </script>
  22.  

CODE (html):
скопировать код в буфер обмена
  1. <form method="POST">
  2.         <div class="row1 selected" id="number1">1</div><div class="row2"><a class="none set" id="noMRKU8789650">MRKU8789650 </a></div><div class="row3">Maersk</div><div class="row4">2017-06-27</div>
  3.         <div class="row1 selected" id="number2">2</div><div class="row2"><a class="none set" id="noMRKU4414912">MRKU4414912 </a></div><div class="row3">Maersk</div><div class="row4">2017-06-27</div> 
  4.         <div class="row1 selected" id="number3">3</div><div class="row2"><a class="none set" id="noMRKU3003624">MRKU3003624 </a></div><div class="row3">Maersk</div><div class="row4">2017-06-27</div>
  5. </form>
 
 Top
Sail
Отправлено: 27 Июня, 2017 - 17:32:07
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




terzik993 пишет:
что все отправляется в одну строчку и php расматривает переданные данные как одно значение

Почему должно быть иначе, если данные формируются вызовом $("a.set").text()?
Можно, например, предварительно обойти каждый из предлагаемых селекторов, выбрать нужные данные, поместить их в объект (массив) и уже его передавать.
Для справки: .each()

(Отредактировано автором: 27 Июня, 2017 - 17:32:35)

 
 Top
MouseZver
Отправлено: 22 Июля, 2017 - 08:33:13
Post Id



Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Июнь 2017  
Откуда: php.ru


Помог: 1 раз(а)




https://github[dot]com/MouseZver/Mou[dot][dot][dot]/js/MouseZver[dot]js

c 87 по 123 строки
(Добавление)
мда ссылку тут даже пережевывает РукаНога

(Отредактировано автором: 22 Июля, 2017 - 08:34:08)

 
 Top
andrewkard
Отправлено: 25 Июля, 2017 - 22:46:11
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Странная у Вас форма.
Как уже сказали, обычно в цикле собираем значения, которые нужны, например с чекбоксами:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var ids = [];
  3.     var checkboxes = $('input[type="checkbox"]');
  4.     $.each(checkboxes,function(index,element){
  5.         if ($(element).prop('checked')){
  6.             ids.push($(element).val());
  7.         }
  8.     });
  9.  

Не совсем правильный, но в некоторых случаях может подойти, если сцепляющий символ точно не будет в значениях
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. ids = $('a.set').clone().append('|').text();
  3.  

(Отредактировано автором: 25 Июля, 2017 - 22:47:02)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB