如何将数组作为(jquery)ajax请求的一部分发送

我试图将数组作为ajax请求的一部分发送,如下所示:

var query = [];

// in between I add some values to 'query'

$.ajax({

url: "MyServlet",

data: query,

dataType: "json",

success: function(noOfResults) {

alert(noOfResults);

}

});

}

我想看看我在servlet中得到了什么,所以我使用了这一行:

System.out.println(request.getParameterMap().toString());

返回{}表示空地图。

Firebug告诉我我遇到400 bad request错误

如果我像这样发送一个queryString

attribute=value作为“数据”,那么一切工作正常,因此它与无法按原样发送数组有关。我要怎么做才能将该数据放入servlet进行进一步处理。如果可以避免,我不想将其拉出并变成JS中的queryString。

发送数据之前,我使用了.serializeArray()(jQuery)函数。我没有得到400,但没有发送任何有用的信息。

回答:

您必须发送一个首先使用JSON.stringify进行字符串化的对象。

像这样:

var query = [];

// in between I add some values to 'query'

$.ajax({

url: "MyServlet",

data: JSON.stringify({ nameParameter: query })

dataType: "json",

success: function(noOfResults) {

alert(noOfResults);

}

});

}

以上是 如何将数组作为(jquery)ajax请求的一部分发送 的全部内容, 来源链接: utcz.com/qa/404429.html

回到顶部