在我的 jQuery 函数中,我使用 window.location.href 像这样重定向:
window.location.href = "${pageContext.request.contextPath}/redirectUser.ajax?login="+response.result.name;
它工作正常,但我在浏览器中看到这个字符串是这样的:
http://localhost:8080/task7/redirectUser.ajax?login=user
我的控制器也使用 GET
@RequestMapping (value="/redirectUser.ajax",method = RequestMethod.GET)
public String forwardUserToUsersPage(ModelMap model, HttpServletRequest req){
User foundedUser = userDao.findByLogin(req.getParameter("login"));
req.getSession().setAttribute("user", foundedUser);
return "userPage";//to WEB-INF/jsp/userPage.jsp
}
如何重写这部分应用程序以便用户 POST 方法重定向并在控制器中处理?
这是从 servler 接收回复的函数(实际上是函数的一部分)
function doAjaxPost() {
// get the form values
var queryString = $('#loginform').formSerialize();
$.ajax({
type: "POST",
url: "${pageContext. request. contextPath}/loginUser.ajax",
data: queryString,
//"name=" + name + "&pswd=" + pswd,
success: function(response){
// we have the response
var delay = 1500;
if (response.status == "OK_USER") {
$('#error').html('');
$('#info').html("Login exists, password is correct everything will be fine.<br> Redirect to User's page");
//var delay = 3000;
setTimeout(function() {
window.location.href = "${pageContext.request.contextPath}/redirectUser.ajax?login="+response.result.name;
}, delay);
}
....
那么如何使用 jQuery 或其他使用 POST 方法进行重定向呢?