如何通过 JQuery Post 传递一个 Javascript 数组,以便它的所有内容都可以通过 PHP $_POST 数组访问?

IT技术 php javascript jquery
2021-02-28 22:58:49

如何通过 JQuery Post 传递一个 Javascript 数组,以便它的所有内容都可以通过 PHP $_POST 数组访问?

请展示一个可以解决问题的代码示例。

谢谢!

4个回答

如果你想传递一个 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});

这是相当简单的。在你的 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'].

参考

这是一个例子:

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

希望能帮助到你。

但是如果数组在 Javascript 变量中呢?
2021-04-24 22:58:49
当我发送 `var choiseArr=[];choiseArr=[0]='Jon'; choiseArr=[1]='苏珊'; $.post("test.php", { 'choices': choiseArr }); 它发送请求但不是作为数组而是作为选择发送两次。所以我只得到了value苏珊。你的回答有帮助。节省了很多时间...谢谢... :)
2021-05-05 22:58:49
var 选择 = [“乔恩”,“苏珊”];$.post("test.php", { 'choices[]': 选择 });
2021-05-09 22:58:49
@Rui,为什么是单引号choices[]请问js或jquery权威站点中关于它的规则在哪里?
2021-05-15 22:58:49

我认为我们应该以这种格式发送

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

它已经在Pass array to mvc Action via AJAX 中提到

它对我有用