java - 为什么servlet中的response.sendRedirect()在收到JQuery的post请求后不起作用?

标签 java jquery html servlets redirect

在blog-edit.html中,JQuery用于发送post请求到服务器端(java servlet)。

$("#btn").click(function() {
                    $.post("/blog/handler",{"content":$('#textarea').val()},
                    function(data){
                        alert("Data Loaded: " + data);
                        if(data.toString().length>1){
                            alert("Saved!")
                        }else{
                            alert("Failed!")
                        }
                    })

在服务器端:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String content = request.getParameter("content");
            System.out.println(content);

            response.sendRedirect("/blog/list");
            return;
    }

我看到的是服务器端正在打印 html 中的内容,并弹出警告窗口说“已保存!”。但是重定向功能不起作用

搜索后只好用jquery重定向:

if(data.toString().length>1){
                            alert("Saved!")
                            window.location.replace("/blog/list")
                        }

可以,但不是我想要的

请帮忙

最佳答案

同时使用ajax。你不能执行服务器端重定向。

但是,在这种情况下,有更好的方法在客户端重定向。

See Here

关于java - 为什么servlet中的response.sendRedirect()在收到JQuery的post请求后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712612/

相关文章:

java - Jackson - 如何将字符串数组解析为对象集合

jQuery UI 自动完成不会将隐藏的输入新值发送到 script_url

javascript - 将用户返回到浏览器关闭/崩溃时访问的最后一个页面?

html - 如何设置一个 div 与另一个 div 的高度相同?

java - 使用正则表达式来匹配内容或分隔符哪个更好?

java - 在迭代时或在循环内更改 JTextField 的文本

javascript - 如何将时间值从一个文本框设置到另一个邪恶的时间选择器?

javascript - header 比父元素宽 ~60%?

java - 如何将库集成到基于 jsp 构建的 Web 应用程序中

java - 对于循环性能: counters with same value vs.不同的值