如何通过 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 数组访问其所有内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 POST 方法将 javascript/jQuery 变量传递给 PHP [重复]