2016-12-03 102 views
-1

我正在发布数据到Servlet使用ajax。而我不知道如何GET来自Servlet的结果。请帮我解决这个问题。 我想从Servlet获取结果。如果其成功重定向到成功页面,如果失败,则重定向到失败页面。AJAX - 从SERVLET发布并获得结果

阿贾克斯得到响应“成功”而不是重定向到另一个页面。 this is response

这是我做了什么至今:

<script> 
$(document).ready(function() {      
    setInterval("ajaxd()",3000); 

}); 

function ajaxd() { 

$.ajax({ 
    url:'/Query.cfm', 
    data:{amount:'<%=amount%>', No:'<%=No%>', eno:'<%=No%>', fno:'<%=fno%>', sign:'<%=sign%>'}, 


    type:'get', 
    cache:false, 
    success:function(data){ 
    if (data == 'success') { 
     var u = '/notic/succ.jsp?No=<%=No%>&amount=<%=amount%>'; 
     alert(u); 
     window.location.href = u; 
    }else if(data == 'failed'){ 
     window.location.href = '"/notic/failed.jsp?No="<%=No%>"&amount="<%=amount%>'; 
    } 
    }, 
    } 
); 
} 

</script> 

这是我的Servlet回应: 结果:可能是 “成功” 或 “失败”

response.setContentType("text/plain"); 
response.getWriter().println(Result); 
+0

你能提供你的Servlet代码吗?您可能需要向ServletResponse输出流写入成功/失败。 –

+0

好的。我会在'success'函数里放一个'console.log(data);'来查看'data'的值是什么。还要在'success'下添加'error'和'done'函数来捕获和记录错误。既然你没有返回json,你也可以尝试在你的'ajax'调用中添加''dataType:text''。 –

+0

尝试'window.location = u;'而不是'window.location.href = u;' –

回答

1

问题是: 由于使用println()而不是

print(). 
+0

它不能解决它,也许你可以添加 –

+0

console.log(data);后if(数据=='成功'),并在这里发布什么数据是 –

+0

我希望我可以编辑我的意见...我的意思是说: 如果这不能解决它,也许你可以添加 console.log (数据); 之前 如果(数据=='成功'),并在这里发布什么数据 –