Массив сообщений jQuery
Мне интересно, как отправить массив с помощью $.ajax. Мой массив выглядит примерно так:
var a = new Array();
a['test'] = 1;
a['test2'] = 2;
and so on...
Я пробовал:
$.ajax({
url: baseUrl+"chat.php",
data: { vars: a},
type: 'post',
success: function(data) {
alert(data);
}});
Любые предложения?
Ответы
Ответ 1
Попробуйте следующее:
var a = {};
a['test'] = 1;
a['test2'] = 2;
// or
var a = {};
a.test = 1;
a.test2 = 2;
// or
var a = {
test : 1,
test2 : 2
};
$.ajax({
url: baseUrl+"chat.php",
data: a,
type: 'post',
success: function(data) {
alert(data);
}
});
Затем вы можете получить доступ к данным на вашем PHP script следующим образом:
$_POST['test'];
$_POST['test2'];
Ответ 2
Я использовал это:
var newArray = new Array();
newArray.push("item1");
newArray.push("item2");
newArray.push("item3");
$.ajax({
type: "POST",
url: urlToPost,
data: JSON.stringify(newArray),
contentType: "application/json"
});
Ответ 3
Я предпочитаю делать это следующим образом:
т.
var data = [{ name: 'test1', value: 'test data' }, { name: 'test2', value: 'test data' }];
$.ajax({
type: 'POST',
url: 'url',
data: data,
});
Серверная сторона (PHP): $_POST['test1'];
$_POST['test2'];
Ответ 4
Вот пример того, как я передаю массивы (из реального кода):
$.ajax({
type: 'POST',
url: url,
data: { CartID : cartID, 'Manufacturers[]' : manufacturers, 'PartNumbers[]' : partNumbers },
success: function(res)
{
...
},
dataType: "json",
async: false
});
затем на стороне сервера:
$cartID = $_POST['CartID'];
$manufacturers = $_POST['Manufacturers'];
$partNumbers = $_POST['PartNumbers'];