Если вы пытались отправить одномерный массив и jquery преобразовывал его в значения, разделенные запятыми>: (* 1002 *, следуйте приведенному ниже коду и будет представлен фактический массив на php
и не все, разделенные запятыми бык ** это.
Допустим, вы должны присоединить один размерный массив с именем myvals
.
jQuery('#someform').on('submit', function (e) {
e.preventDefault();
var data = $(this).serializeArray();
var myvals = [21, 52, 13, 24, 75]; // This array could come from anywhere you choose
for (i = 0; i < myvals.length; i++) {
data.push({
name: "myvals[]", // These blank empty brackets are imp!
value: myvals[i]
});
}
jQuery.ajax({
type: "post",
url: jQuery(this).attr('action'),
dataType: "json",
data: data, // You have to just pass our data variable plain and simple no Rube Goldberg sh*t.
success: function (r) {
...
Теперь внутри php
, когда вы делаете это
print_r($_POST);
Вы получите ..
Array
(
[someinputinsidetheform] => 023
[anotherforminput] => 111
[myvals] => Array
(
[0] => 21
[1] => 52
[2] => 13
[3] => 24
[4] => 75
)
)
Прошу прощения за мой язык, но существует огромное количество Rube-Goldberg решений, разбросанных по всему Интернету и особенно на SO, но ни одно из них не является элегантным или не решает проблему фактической публикации одномерный массив до php
через ajax post . Не забудьте распространить это решение.