【问题标题】:AJAX - Post and Get Result from SERVLET [duplicate]AJAX - 从 SERVLET 发布和获取结果 [重复]
【发布时间】:2016-12-03 02:42:26
【问题描述】:

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

Ajax 得到响应“成功”,但没有重定向到另一个页面。 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);

【问题讨论】:

  • 你能提供你的 Servlet 代码吗?您可能需要将成功/失败写入 ServletResponse 输出流。
  • 好的。我会在success 函数内的您的javascript 中放置一个console.log(data);,以便查看data 的值是什么。还在success 下方添加errordone 函数来捕获和记录错误。由于您没有返回 json,您也可以尝试将 'dataType:text' 添加到您的 ajax 调用中。
  • 试试window.location=u;而不是window.location.href=u;
  • @C.Smith 它仍然没有跳转到另一个页面......
  • alert(u); 是否显示任何内容,如果有,又如何?如果您查看浏览器控制台,您是否看到任何记录?

标签: javascript java jquery ajax servlets


【解决方案1】:

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

print().

【讨论】:

  • 那个不能解决,也许你可以添加
  • console.log(data);在 if (data == 'success') 之后并在此处发布数据是什么
  • 我希望我可以编辑我的 cmets... 我的意思是:如果这不能解决它,也许你可以添加 console.log(data);在 if (data == 'success') 之前并在此处发布数据是什么
  • 我获得了 console.log(data) 的成功;
  • 从您发布的图片看来,您获得了“成功”,后面有一个新行(“\n”不是可见字符,显示为额外的空白行)。 response.getWriter().println(Result);到 response.getWriter().print(Result);我敢打赌这会解决它。
猜你喜欢
  • 1970-01-01
  • 2013-07-20
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
相关资源
最近更新 更多