jquery ajax提交数组

function bar() {
		$.ajax("jquerytest.html", {
			data : {
				choices : [ "a", "b", "c" ]
			}
			
		});
	}

这个方法调用以后,在浏览器控制台里,发现提交的url是jquerytest.html?choices%5B%5D=a&choices%5B%5D=b&choices%5B%5D=c,

这是因为在ajax发送请求之前,会调用jQuery.param()把data转换成字符串,choices是个数组,在jquery1.4以后,就变成了choices%5B%5D=a&choices%5B%5D=b&choices%5B%5D=c的样子.

但是这样在后台就找不到"choices"这个请求参数了.

不过可以用traditional这个参数控制一下.

function bar() {
		$.ajax("jquerytest.html", {
			data : {
				choices : [ "a", "b", "c" ]
			},
			traditional : true
		});
	}

url终于变成了jquerytest.html?choices=a&choices=b&choices=c

相关推荐