Java 使用jquery打开新窗口

Java 使用jquery打开新窗口,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,我有一个ajax调用,它向Servlet发送一个值,Servlet创建一个html文件,然后返回已创建的html文件的绝对路径。 服务器的响应是 "C:\Users\Ker\Documents\NETBEANS PROJECT\Titanium\build\web\default\result.html" 在阿贾克斯 $(function() { $("#BTNRUN").click(function() { var html = $

我有一个ajax调用,它向Servlet发送一个值,Servlet创建一个html文件,然后返回已创建的html文件的绝对路径。
服务器的响应是

"C:\Users\Ker\Documents\NETBEANS PROJECT\Titanium\build\web\default\result.html"
在阿贾克斯

 $(function() {
            $("#BTNRUN").click(function() {

                var html = $("#HTML").val();
                var body1 =html.replace('%','^');
                var body2=body1.replace('&','|');
                var css = $("#CSS").val();
                var js = $("#JS").val();
                var dataString = 'RUN=1&BODY=' + body2
                        + '&CSS=' + css + '&JS=' + js;
                $.ajax({
                    type: "POST",
                    url: "TitaniumServlet",
                    data: dataString,
                    success: function(data) {
                        window.open(data);
                    }
                });
                return false;
            });
        });
它打开了一个新的浏览器,但我总是进入一个空白页。地址有问题吗

编辑:


据我所知,您已经在应用程序的上下文路径上创建了文件和存储。如果新创建的文件位于上下文路径中,则可以直接使用相对路径或上下文路径访问文件,并使用服务器地址在新窗口中打开文件

您的Servlet代码包括以下行以获取上下文路径:

 //after your line writer.write(html codes here);  

String serverAddrs = request.getServerName()+":"+request.getServerPort();
String contextPath = "http://"+serverAddrs + main_path ;   
                                   //main_path  is your context path
contextPath = contextPath+"/result.html";
System.out.println(contextPath);  
return contextPath;  

可以显示servlet代码吗?尝试显示变量“data”是什么。在这行“success:function(data){”add“console.log(data);“console中出现了什么?”@migueljimenezz之后,我提到了数据的值“C:\Users\Ker\Documents\NETBEANS PROJECT\Titanium\build\web\default\result.html”对不起。可能是数据没有协议的问题吗?因为路径不在服务器中,所以将文件:///放在数据之前:window.open('file://'+data);@migueljimenezz我也试过,但结果相同。
 //after your line writer.write(html codes here);  

String serverAddrs = request.getServerName()+":"+request.getServerPort();
String contextPath = "http://"+serverAddrs + main_path ;   
                                   //main_path  is your context path
contextPath = contextPath+"/result.html";
System.out.println(contextPath);  
return contextPath;