Lef*_*eff 16 javascript jquery laravel
我想传递一个数组并添加到我的页面上的链接作为url参数,因为稍后在服务器端我需要数组中的值.我该怎么办?
myArray = ['aaa', 'bbb', 'ccc'];
$('#myLink').attr({"href" : '/myLink?array=' + myArray});
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是正确的做法?
Rod*_*igo 28
您可以序列化JSON:
myArray = ['aaa', 'bbb', 'ccc'];
var arrStr = encodeURIComponent(JSON.stringify(myArray));
$('#myLink').attr({ href: '/myLink?array=' + arrStr });
Run Code Online (Sandbox Code Playgroud)
如果您的解析(在下一页上)也是通过JavaScript完成的,那么您将反过来使用JSON.parse().在PHP中它将是json_decode().
我会采用这种方法,
var myArray = ['aaa', 'bbb', 'ccc', ];
var myArrayQry = myArray.map(function(el, idx) {
return 'myArray[' + idx + ']=' + el;
}).join('&');
// myArray[0]=aaa&myArray[1]=bbb&myArray[2]=ccc
Run Code Online (Sandbox Code Playgroud)
然后,我在服务器端检索 URL 查询参数作为数组。
它不应该依赖于服务器端:根据URI标准规范,所有参数必须具有一个名称,并且应该具有一个值.但是可以有几个具有相同名称的参数,这是序列化数组的正确方法:
HTTP://服务器/上下文阵列= AAA&阵列= BBB&阵列= CCC&otherparameter = X
你可以这样做:
var s="";
for (var i=0;i< myArray.length;i++)
{
s+="&myArray="+myArray[i];
}
var url="http://server/context?"+s;
Run Code Online (Sandbox Code Playgroud)
小智 6
试试这个
$('#myLink').attr({"href" : '/myLink?array=' + myArray.join(',')});
Run Code Online (Sandbox Code Playgroud)
在服务器上:捕获和分割数据.
| 归档时间: |
|
| 查看次数: |
33907 次 |
| 最近记录: |