javascript - 从 Jquery Ajax 调用 servlet

标签 javascript jquery servlets

我正在尝试使用 Jquery .ajax 方法访问 servlet,如下所示。

function ajaxCall()
    {
     $.ajax({
        type: 'GET',
        dataType:"html",
        url: "http://localhost:7001/Macaw/MacawServlet",
        success:function(data){
         alert(data);
        },
    error:function(){
         alert("failure");
        }                   
    });
    }

Servlet 内容:

   package servlet;

   import java.io.File;
   import java.io.IOException;
   import java.io.PrintWriter;

   import javax.servlet.ServletConfig;
   import javax.servlet.ServletException;
   import javax.servlet.http.HttpServlet;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;

   import org.jsoup.Jsoup;
   import org.jsoup.nodes.Document;
   import org.jsoup.nodes.Element;


   public class MacawServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

       public MacawServlet() {
           super();
           // TODO Auto-generated constructor stub
       }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        File input = new File("C:/Users/540893/workspace/Macaw/WebContent/prpsl_txtsrch.html");
        Document doc = Jsoup.parse(input,"UTF-8");
        Element content = doc.getElementById("text_search");
        Element content1 = doc.getElementById("chr_val_stats");
        Element content2 = doc.getElementById("chr_val_delta");
        out.println(content);
        out.println(content1);
        out.println(content2);
        System.out.println("success");
    }

   }

每次我调用此 .ajax 函数时,它都会调用 servlet 并调用 .ajax error:function(){}

为什么它没有调用.ajax success:function(){}

最佳答案

你的js和java文件在同一个上下文中吗?

如果是,则无需在 url 中使用服务器地址和端口。您可以从/Macaw/MacawServlet 开始

如果没有,请检查启用跨浏览器 ajax 调用。

引用 - Firefox setting to enable cross domain ajax request

关于javascript - 从 Jquery Ajax 调用 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20952647/

相关文章:

java - 如何保证 session 属性的线程安全

arrays - 如何在java jsp中获取数组列表大小?

javascript - 每次出现新值时触发 .val() 然后更新数据属性

jquery - 将新组添加到列表中,然后它应该能够显示气泡

PHP AJAX 加载更多

javascript - 在 jQuery 的 css() 函数中使用 !important

javascript - jQuery 模糊 div 不在焦点

javascript - 网站上有一个与警报一起使用的代码,但在满足 if 条件时不会链接到另一个网站

javascript - Autodesk Forge Viewer 的多个实例

java - 使用 JNDI 在 Tomcat 中共享 servlet session 对象和数据