如何在url中为ajax发送二维数组
喜欢:
MultiArray[0][1]="..."
MultiArray[0][2]="..."
.
.
MultiArray[n][1]="..."
MultiArray[n][2]="..."
从ajax(javascript)到php的代码 像
<a href="test.php?t=MultiArray">...</a>
请帮助
答案 0 :(得分:1)
您无法在URL中发送对象,只能发送字符串值。
您可以创建一个表示锯齿状数组的值(这是因为Javascript没有多维数组),例如:
test.php?t=[[1,2,3],[4,5,6],[7,8,9]]
这当然必须在服务器端解析。
您可能希望查看JSON数据格式。 IIRC jQuery可以创建JSON格式,或者至少有一个插件。 PHP中应该有一些可以解析格式的库。
答案 1 :(得分:0)
有很多方法可以解决这个问题。
我会建议第一种选择。
答案 2 :(得分:0)
这是jQuery中真正的Ajax请求。查看$.ajax
的数据参数。
should('test paramterized multidimensional object', function() {
var mDimArray = [];
mDimArray[0] = [];
mDimArray[1] = [];
mDimArray[0][0] = 'data 0';
mDimArray[0][1] = 'data 1';
mDimArray[1][0] = 'data 2';
mDimArray[1][1] = 'data 3';
jQuery.ajax({
url: 'test.php'
,data: { mDims: mDimArray }
,dataType: 'json'
,success: function(data) {
if (data.status === "success") {
ok(true, "Rx Json");
}
}
});
});
以下是请求中的参数:
mDims[0][] data 0
mDims[0][] data 1
mDims[1][] data 2
mDims[1][] data 3
查询字符串:
?mDims%5B0%5D%5B%5D=data+0&mDims%5B0%5D%5B%5D=data+1&mDims%5B1%5D%5B%5D=data+2&mDims%5B1%5D%5B%5D=data+3