在Ajax调用上获得Servlet的响应

时间:2015-05-26 14:06:01

标签: javascript ajax servlets

我正在从我的ajax进行servlet调用。我如何在我的ajax函数中获得响应作为变量。

 function myajaxcall(name) {
     var url = "/myServlet?name="+name
     $.ajax({
         type: 'GET',
         url: url,
         success: function() {

            console.log("Success");
            // also i want to get response from header which i have set in my servlet class . and call a another javascript method
    // call a another javascript method by passing the response from servlet .
         }
         });
}

Servlet代码是:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
String code=request.getParameter("name")+"Hi";

 response.addHeader("code", code);


}

现在我想使用我的"代码" ajax调用中的变量,以便我可以将其发送到另一个javascript方法..

提前致谢。

1 个答案:

答案 0 :(得分:0)

正如jQuery documentation中所述,jQuery success函数的$.ajax()设置是函数或函数数组,最多有三个参数(并且是随后在AJAX请求返回成功响应后调用时传递了三个参数:

  

成功

     

类型:功能(任何数据,字符串textStatus,jqXHR jqXHR)

如您所见,第三个参数属于jqXHR类型,其函数为getResponseHeader()

这样的东西应该工作(虽然未经测试):

$.ajax({
    type: 'GET',
    url: url,
    success: function(data, status, xhr) {
        var code = xhr.getResponseHeader('code');
        yourFunction(code);
        console.log("Success");
    }
});