var aaa = [{a:1, b:2}, {b:2, c:4}];
var obj = {};
obj.a = aaa;
alert($.param(obj));
如果这样写就可以弹出:a%5b0%5d%5ba%5d%3d1%26a%5b0%5d%5bb%5d%3d2%26a%5b1%5d%5bb%5d%3d2%26a%5b1%5d%5bc%5d%3d4
解码后:a[0][a]=1&a[0][b]=2&a[1][b]=2&a[1][c]=4var aaa = [{a:1, b:2}, {b:2, c:4}];
alert($.param(aaa));
但如果这样写就弹出:undefined=undefined&undefined=undefined问题:
1、$.param()不是也可以转换数组吗?为什么会出现上面的情况呢?
2、按第一段代码弹出的内容,URL可以传输数组吗??
var obj = {};
obj.a = aaa;
alert($.param(obj));
如果这样写就可以弹出:a%5b0%5d%5ba%5d%3d1%26a%5b0%5d%5bb%5d%3d2%26a%5b1%5d%5bb%5d%3d2%26a%5b1%5d%5bc%5d%3d4
解码后:a[0][a]=1&a[0][b]=2&a[1][b]=2&a[1][c]=4var aaa = [{a:1, b:2}, {b:2, c:4}];
alert($.param(aaa));
但如果这样写就弹出:undefined=undefined&undefined=undefined问题:
1、$.param()不是也可以转换数组吗?为什么会出现上面的情况呢?
2、按第一段代码弹出的内容,URL可以传输数组吗??
解决方案 »
- jquery 控制 Select 标签的问题~~(有图有真相)
- 新手提问....很简单的问题,希望大家来指教下!谢谢。。。。。。
- 为何变是不定义就不能用 alert()输出,但是对象的属性不定义,就允许用 alert()输出呢:
- JS给相同ID的DIV赋值
- 默认表格一行多高?文本域一行多高?
- 如何用javascript在sharepoint取数据,并在photoshop中用scriptUI去显示?
- 关于全文检索!!
- js旋转和添加问题????急急急
- 如何取得动态增加的table中的一个input
- 用event实现提示,但是位置会乱掉
- 为何this.id获取不到id值?
- 写了一个validation的自定义方法, 但没有反应
var aaa = [{name:'a',value:1},{name:'b',value:2}];
alert(unescape($.param(aaa)));
可以看源代码: param: function( a ) {
var s = []; // If an array was passed in, assume that it is an array
// of form elements
if ( a.constructor == Array || a.jquery )
// Serialize the form elements
jQuery.each( a, function(){
s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) );
}); // Otherwise, assume that it's an object of key/value pairs
else
// Serialize the key/values
for ( var j in a )
// If the value is an array then the key names need to be repeated
if ( a[j] && a[j].constructor == Array )
jQuery.each( a[j], function(){
s.push( encodeURIComponent(j) + "=" + encodeURIComponent( this ) );
});
else
s.push( encodeURIComponent(j) + "=" + encodeURIComponent( jQuery.isFunction(a[j]) ? a[j]() : a[j] ) ); // Return the resulting serialization
return s.join("&").replace(/%20/g, "+");
}
但是我的JSON数组没有写错啊~?我只是想知道为什么同一个东西,用$.param()出来以后的值不一样。