Как передать массив Javascript через JQuery Post, чтобы все его содержимое было доступно через массив PHP $ _POST? - PullRequest
40 голосов
/ 06 апреля 2011

Как я могу передать массив Javascript через JQuery Post, чтобы все его содержимое было доступно через массив PHP $ _POST?

Пожалуйста, покажите пример кода, который бы сработал.

Спасибо!

Ответы [ 4 ]

58 голосов
/ 06 апреля 2011

Если вы хотите передать объект JavaScript / хеш (т.е. ассоциативный массив в PHP), вы должны сделать:

$.post('/url/to/page', {'key1': 'value', 'key2': 'value'});

Если вы хотите передать фактический массив (то есть индексированный массив вPHP), то вы можете сделать:

$.post('/url/to/page', {'someKeyName': ['value','value']});

Если вы хотите передать массив JavaScript, то вы можете сделать:

$.post('/url/to/page', {'someKeyName': variableName});
23 голосов
/ 06 апреля 2011

Это довольно просто.В вашем JS все, что вы будете делать, это или что-то подобное:

var array = ["thing1", "thing2", "thing3"];

var parameters = {
  "array1[]": array,
  ...
};

$.post(
  'your/page.php',
  parameters
)
.done(function(data, statusText) {
    // This block is optional, fires when the ajax call is complete
});

На вашей странице php значения в виде массива будут доступны через $_POST['array1'].

ссылки

8 голосов
/ 06 апреля 2011

Вот пример:

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

Надеюсь, это поможет.

0 голосов
/ 07 октября 2015

Я думаю, что мы должны отправить в этом формате

var array = [1, 2, 3, 4, 5];
$.post('/controller/MyAction', $.param({ data: array }, true), function(data) {});

Это уже упоминалось в Передать массив в mvc Action через AJAX

Это сработало для меня

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