Передать массив переменной длины через AJAX в PHP - PullRequest
0 голосов
/ 04 апреля 2011

У меня серьезные проблемы с попыткой передать эту форму /

<form id="form">
  <select id="<?php echo $answer['aid']; ?>" name="importance[<?php echo $answer['aid']; ?>]">                      
                                  <option value="0">NO</option>
                                  <option value="25">Unlikely</option>
                                  <option value="50" selected="selected">Neutral</option>
                                  <option value="75">Perhaps</option>
                                  <option value="100">YES</option>
                       </select>
<input 

type="submit" id="submit" value="Next"/>
</form>

Как мне использовать Jquery / AJax для отправки этой формы.Я не хочу обновлять всю страницу, поэтому использовал этот AJAX до сих пор.

$('#form').submit(function() {
    alert('Submit button clicked with ServiceID =' + serviceID);  
    var impArray =  $('#form').serialize()
    JSONstring = JSON.stringify(impArray)
     alert(JSONstring);
     $.ajax({
           type: "POST",
           url: "update_KB.php",
           data: JSONstring, 
           success: function(msg){
             alert( "Data Saved: " + JSONstring );
           }
    });

Это дает мне строку, которая выглядит следующим образом в предупреждении

"Важность% 5B101% 5D= 50 & Важность% 5B100% 5D = 50 & Важность% 5B99% 5D = 50 & Важность% 5B98% 5D = 50 "

Как бы я удалил% 5B и% 5D или расшифровал его так, чтобы я получил квадратные скобки назад и повернулэто в массив для отправки в строку SQL?

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

вы можете использовать json_decode () для декодирования его в php, хотя мне любопытно, почему вы хотите сериализовать это при отправке всей вашей формы, и вы уже отправляете их как массивы?

0 голосов
/ 04 апреля 2011

Вам не нужно изменять% 5D или% 5B, вы можете получить параметры в update_KB.php из GET / POST, по которому вы отправляете данные. Если у вас возникли проблемы, пожалуйста, напишите следующий код -

 print_r ($_POST); OR print_r ($_GET);

на вашем update_KB.php. Тогда вы можете решить, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...