【问题标题】:how to get servlet response in javascript?如何在 javascript 中获取 servlet 响应?
【发布时间】:2014-12-13 19:55:49
【问题描述】:

如何在 javascript 变量中获取 servlet 响应消息有没有可能在 java 脚本中获取响应消息的方法?

Html:

<form method="post" id="importForm">
Name<input type="text" name="name"/>
<input type="submit" onclick="importScenarioFromServer();">
</form>

javascript:

function importScenarioFromServer(){
    var result = document.forms["importForm"].submit();
}

servlet:

int numberOfRecs = db.setDBValue(dMap);
if (numberOfRecs == 1) {
String result = "success";
response.getWriter().print(result);
}

【问题讨论】:

  • 如果您不想刷新页面,请使用 ajax,因为 JQuery#ajax 会派上用场。
  • @arvind 我正在发送多部分请求,但是 ajax 不支持多部分请求。
  • @AMolTate 我试过了,但没用
  • 您在使用 ajax 时遇到了什么问题?

标签: java javascript jquery servlets


【解决方案1】:

这可以在 javascript 中使用 ajax 或使用 jquery 来实现。 我们可以在 ajax hit 中序列化表单,然后可以在成功事件回调函数中从 servlet 获取响应数据。下面是示例...

function getData()
{
var client;
var data;
var url_action="/temp/getData";
if(window.XMLHttpRequest)
{
    client=new XMLHttpRequest();
}
else
{
    client=new ActiveXObject("Microsoft.XMLHTTP");
}
client.onreadystatechange=function()
{
    if (client.readyState==4 && client.status==200)
    {
         document.getElementById("response").innerHTML=client.responseText; 
    }
};
data="name="+document.getElementById("name").value+"&file="+document.getElementById("filname").value;
client.open("POST",url_action,true);
client.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
client.send(data);
}


Servlet post method

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    PrintWriter out=response.getWriter();
    log.info("Good");
    out.println("Good to go");
}

【讨论】:

    猜你喜欢
    • 2013-05-05
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多