我使用jquery从表单中获取数据并使用ajax发布到.jsp文件。 当我尝试使用request.get参数在jsp scriplet中接收数据时,我得到null。
var values = {}; // Create empty javascript object
$("select").each(function() { // Iterate over selects
values[$(this).attr('name')] = $(this).find(":selected").attr('data-citycode'); // Add each to features object
});
var format = "dd/mm/yyyy";
values["datepicker1"] = $("#datepicker1 div").datepicker("getFormattedDate", format);
values["datepicker2"] = $("#datepicker2 div").datepicker("getFormattedDate", format);
//var url ="list_flights.jsp";
$.ajax({
type: "GET",
url: "list_flights.jsp",
async: false,
data: {
values: JSON.stringify(values)
},
error: function(data) {
console.log(data);
},
success: function(data) {
console.log(data);
window.location = "list_flights.jsp";
}
});
和jsp scriplet
<% out.print(request.getParameter("values")); %>
输出
空
答案 0 :(得分:1)
似乎ajax
成功后你正在改变窗口位置
success: function(data) {
console.log(data);
window.location = "list_flights.jsp";
}
正在发出另一个请求,并且请求中没有values
属性。
success: function(data) {
console.log(data);
window.location = "list_flights.jsp?values=" + JSON.stringify(values);
}
但是对success
重定向并将ajax
调用到同一个jsp没有意义。你应该从ajax调用一个servlet,它会给你响应,根据你的响应,你应该重定向到另一个页面。