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

Posted

技术标签:

【中文标题】如何通过 JQuery Post 传递 Javascript 数组,以便可以通过 PHP $_POST 数组访问其所有内容?【英文标题】:How to pass a Javascript Array via JQuery Post so that all its contents are accessible via the PHP $_POST array? 【发布时间】:2011-07-31 02:36:42 【问题描述】:

如何通过 JQuery Post 传递 javascript 数组,以便通过 php $_POST 数组访问其所有内容?

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

谢谢!

【问题讨论】:

【参考方案1】:

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

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

已经在 Pass array to mvc Action via AJAX

它对我有用

【讨论】:

【参考方案2】:

这很简单。在你的 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'] 提供。

参考文献

jQuery post() jQuery ajax()

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

这是一个例子:

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

希望对你有帮助。

【讨论】:

但是如果数组在 Javascript 变量中呢? var 选择 = ["Jon", "Susan"]; $.post("test.php", 'choices[]': 选择 ); @Rui,为什么choices[]周围是单引号?请问js或jquery权限的网站有什么规定吗? 当我发送 `var choiseArr=[];choiseArr=[0]='Jon'; choiseArr=[1]='苏珊'; $.post("test.php", 'choices': choiseArr );它发送请求但不是作为数组而是作为选择两次。所以我只得到价值苏珊。你的回答有帮助。节省了很多时间......谢谢...... :)

以上是关于如何通过 JQuery Post 传递 Javascript 数组,以便可以通过 PHP $_POST 数组访问其所有内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何利用jQuery post传递含特殊字符的数据

如何使用 POST 方法将 javascript/jQuery 变量传递给 PHP [重复]

jquery ajax怎么通过header传递参数

jQuery 更新隐藏的输入值,但不传递给 POST 变量

通过 jQuery AJAX 将字符串数组传递给 C# WebMethod

jquery异步ajax与服务器通信过程中如何通过then方法链式传递多层数据