【发布时间】:2013-08-27 08:34:19
【问题描述】:
我正在尝试通过 url 发送一个 javascript 数组。但它失败了
function viewReport(mode,someid){
if(mode==0){
var para= new Array();
para['para1'] = 'para1'||0;
para['para2']= 'para2' || 0;
console.log(para);
window.open('somePDFView/'+para,'_blank');
}else{
var para=[];
var paraelements={
para1:'anotherpara1'||0,
para2:'anotherpara2'||0
};
para[0]=paraelements;
window.open('somePDFView/'+para,'_blank');
}
}
在if part(mode=0) 上,para 数组不再发送,而在 else 部分 (mode=1)
para 是这样发送的:
somePDFView/[object Object]
显示错误:
您提交的 URI 包含不允许的字符
我们如何通过 url 发送一个数组。我不能使用 Ajax(因为它是一个弹出窗口)或会话或存储在一个临时表中。我们如何在控制器中检索这个值。
编辑:
我错过了我正在使用 codeigniter 的重要事情。然后我认为它不允许特殊字符,如 - &、=、[、] 等。那么是否有任何其他方法可用于将数据作为数组发送?..
【问题讨论】:
-
您可以对其进行编码。但是我认为 URL 有一个最大长度来发送变量,所以不要太长。
-
序列化? k 我会研究那个并尝试一下......
-
不要使用非数字键的数组!
-
我认为你应该先研究一下为什么
string + array会产生奇怪的结果... (提示:将汽车与苹果结合起来会发生什么?)
标签: php javascript jquery arrays codeigniter