如何通过JQuery Post传递Javascript数组,以便通过PHP $_POST数组访问其所有内容?
请给出一个能实现此目的的代码示例。
谢谢!
请给出一个能实现此目的的代码示例。
谢谢!
如果你想传递一个 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"] });
我认为我们应该使用这种格式发送
var array = [1, 2, 3, 4, 5];
$.post('/controller/MyAction', $.param({ data: array }, true), function(data) {});
已经在通过AJAX将数组传递给MVC Action中提到。
这对我起作用了。
choices[]
周围有单引号?在JS或jQuery权威网站上有关于此规则的说明吗? - Istiaque Ahmedvar choiseArr=[];choiseArr=[0]='Jon'; choiseArr=[1]='Susan'; $.post("test.php", { 'choices': choiseArr });
时,它会发送请求,但不是作为数组而是两次作为“choices”。所以我只得到了 Susan 的值。你的答案帮了我大忙,节省了很多时间。谢谢... :) - Ravikumar Sharma