2016-03-18 5 views
1

Мне нужно создать массив ассоциативных массивов для отправки того же самого скрипта php в качестве сообщения ajax. Как мне это сделать?создание массива ассоциативного массива в jquery

Чтобы быть более конкретным, у меня есть строки из двух входов с именем «Имя» и «Фамилия». При нажатии кнопки отправки, это должно генерировать массив, как:

var name_array = [{"first_name" : string1, "last_name" : string2}, 
{"first_name" : string3, "last_name" : string4}, 
. 
. 
.] 

Я вышлет этот массив PHP через AJAX пост. Если построена выше конструкция, то какой должен быть синтаксис для отправки name_array в качестве данных в php-скрипт?

+0

Возможная Дубликат [Динамическое создание ключей в ассоциативном массиве JavaScript] (http://stackoverflow.com/questions/ 351495/dynamic-create-keys-in-javascript-ассоциативный массив) –

+0

Вы используете jQuery, правильно? http://stackoverflow.com/a/20150474/2191572 – MonkeyZeus

+0

Да, используя jQuery –

ответ

0
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<script> 
$(document).ready(function() 
{ 
    var hold_data = {}; 
    $(document).on('click','#submit',function() 
    { 
     $("#myform .field").each(function() 
     { 
      hold_data[$(this).attr('name')] = $(this).val(); 
     }); 
     var json_data = JSON.stringify(hold_data); 
     alert(json_data); 

     $.ajax(
     { 
      url:'', //url location for where you want to submit the data 
      type:'post', 
      data:{form_data:json_data}, 
      success:function(res) 
      { 
       alert("Successfully sent and your response "+res); 
       } 
      }); 
     }); 
}); 
</script> 
</head> 

<body> 
<form id="myform" action=""> 
    First name: <input type="text" class="field" name="FirstName" value="Tom"><br> 
    Last name: <input type="text" class="field" name="LastName" value="Raze"><br> 
    <input type="button" id="submit" value="Submit"> 
</form> 
</body> 

Если вы отправляете сообщения на php-страницу, вы можете декодировать данные json, как показано ниже.

Значение температуры быть эхом будет показано, как ответ Res данные по аяксским

<?php 

if(isset($_POST['form_data'])) 
{ 
    $temp = json_decode($_POST['form_data']); 
    echo temp; 
} 

?> 
+0

Большое вам спасибо. Это работает так, как я хотел. Еще раз спасибо Wilson –

+0

Нет проблем. всегда пожалуйста –

Смежные вопросы