Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
can';t从ajax调用的servlet转发到另一个jsp_Ajax_Servlets - Fatal编程技术网

can';t从ajax调用的servlet转发到另一个jsp

can';t从ajax调用的servlet转发到另一个jsp,ajax,servlets,Ajax,Servlets,我正在使用ajax代码调用servlet $.ajax({ url: 'servletName', data: { userID: selectedID }, type: 'post' }); 我可以打印servlet中的值 但是我不能转发到另一个jsp。。。。。 servlet代码是 id = requ

我正在使用ajax代码调用servlet

$.ajax({
                url: 'servletName',
                data: {
                    userID: selectedID
                },
                type: 'post'
            });
我可以打印servlet中的值 但是我不能转发到另一个jsp。。。。。 servlet代码是

id = request.getParameter("userID");
System.out.println("Selected ID : "+id);

request.setAttribute("newID", id);

RequestDispatcher rd = request.getRequestDispatcher("/newpage.jsp");
rd.forward(request, response);
如果我从表单提交按钮调用这个servlet,它就会工作。 但它不是从ajax代码转发到另一个JSP。 有什么不同的方法吗????
任何人都可以在
$中提供帮助。ajax
,添加以下内容:

dataType: 'text'
var url = "(your url)";  
$(location).attr('href', url);
在成功部分,添加以下内容:

dataType: 'text'
var url = "(your url)";  
$(location).attr('href', url);

您需要了解这样一个事实:当您从ajax发送http请求时,这意味着您是在独立的线程中发送请求,而不是在主线程中(发送请求的页面本身)。因此servlet上的重定向不会反映在客户端。为了实现这一点,将要重定向到的URL作为对请求的响应发送回,ajax的成功方法就是使用java脚本window.location(URL)

在servlet上

JSONObject jobj = new JSONObject()
String urlToRedirect = "test.jsp";
jobj.put("url",urlStr);
response.getWriter().write(jobj.toString());
在客户端

$.ajax({
                url: 'servletName',
                data: {
                    userID: selectedID
                },
                type: 'post',
                success: function(data){
                  window.location = data.url;
                } 

            });

如果它不转发到JSP,它会做什么?会发生什么?有例外吗?你怎么判断前锋没有出现?