【问题标题】:How to Call servlet from java script through AJAX如何通过 AJAX 从 java 脚本调用 servlet
【发布时间】:2014-08-14 06:37:48
【问题描述】:

我有一个像下面这样的 JavaScript 函数

function ProviderSearchRequest()
{
    var LegacyUserID    = g_PQContactTree.selectSingleNode( " /LegacyLogin" ).text;
    var LegacyPassword  = g_PQContactTree.selectSingleNode( " /LegacyPassword" ).text;   
}

我的仆人

public class AWDB2BAuthentication extends HttpServlet {
     public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,
          IOException {
        res.setContentType("text/html");
        PrintWriter out = res.getWriter();
        out.println("User Name: " + req.getRemoteUser());
        String name = (req.getUserPrincipal() == null) ? null : req.getUserPrincipal().getName();
        out.println("Principal Name: " + name);
        out.println("Authentication Type: " + req.getAuthType());
        out.println("Hello World..... ");
      } 

如何使用AJAX通过java函数调用servlet?

【问题讨论】:

    标签: javascript ajax servlets


    【解决方案1】:

    首先,您需要在 WEB-INF 文件夹的 web.xml 中为您的 servlet 定义 url 映射,然后通过 jquery 调用您的 servlet,如下所示:

    function getData(){
       var xhr=$.ajax({url:"Servlet Path",type:"GET",
       success:function(data){
          console.log(data);
       }
     });
    }
    
    $(document).ready(function(){
       getData();
    });
    

    【讨论】:

    • 我使用了您建议的代码,如下所示。我没有调用我的 servlet( AWDB2BAuthentication/AWDB2BAuthentication/* ) var xhr=$.ajax({url:"localhost:8080/pqawdTestWebApp/AWDB2BAuthentication?awdUserId=" + awdUserId ,type:"GET", success:function(data){ console.log(data); } }); } $(document).ready(function(){ getData();
    • 对象在 getData();当我通过 IE8 浏览器调用时,会出现行号对话框。谢谢
    • 其他浏览器呢?
    • 映射正常,因为您没有收到错误 404(未找到)。我认为您收到的错误 500(内部服务器错误)与我的回答无关。因此,您必须检查服务器日志以找出问题所在。
    【解决方案2】:

    感谢@Super Hornet 抽出宝贵时间。如果我们设置 $.support.cors = true; Ajax 跨浏览器问题将得到解决

    【讨论】:

      猜你喜欢
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 2021-06-24
      • 1970-01-01
      • 2011-02-09
      • 2019-10-25
      相关资源
      最近更新 更多