如何使用jQuery发送请求参数数组到servlet $ .ajax?
我想用jQuery $.ajax
发送JavaScript数组到servlet。
var json=[1,2,3,4]; $.ajax({ url:"myUrl", type:"POST", dataType:'json', success:function(data){ // codes.... }, data:json });
当我使用
request.getParameter("json"); request.getParameterValues("json");
它返回null。
我怎样才能访问这些值?
发送数组作为JS对象的值,所以你最终成为{json:[1,2,3,4]}
。
var json=[1,2,3,4]; $.ajax({ url:"myUrl", type:"POST", dataType:'json', data: {json:json}, success:function(data){ // codes.... }, });
在servlet中,需要使用[]
来后缀请求参数名称。
String[] myJsonData = request.getParameterValues("json[]");
jQuery附加它们是为了对PHP等弱types语言友好。
您必须将您的数组转换为JSONtypes,而不是[]它需要阅读
var array = [ 1, 2, 3, 4 ];
要做到这一点,你需要打电话
var json = JSON.stringify(array)
那么你可以将它传递给你的ajax调用
$.ajax({ url:"myUrl", type:"POST", data: json, dataType:'json', success:function(data){ // codes.... }})
你需要发布你的JavaScript数据对象像这样..
http://api.jquery.com/jQuery.post/
$.post("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); });