2014-01-06 3 views
1

Я пытаюсь получить доступ к сервлетам с использованием JQuery .ajax, как показано ниже.Ajax вызов сервлета из JQuery

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"); 
    } 

    } 

Everytime я звоню эту функцию .ajax он бьет сервлет и делает вызов .ajax error:function(){}.

Почему он не звонит .ajax success:function(){}?

+0

Какой URL является ваш 'MacawServlet' сопоставляется с? –

ответ

1

Является ли ваш js и java-файл в том же контексте?

Если да, не нужно использовать адрес сервера и порт в URL-адресе. Вы можете начать с/Macaw/MacawServlet

Если нет, установите флажок, чтобы активировать вызов ajax для кросс-браузера.

см - Firefox setting to enable cross domain ajax request

Смежные вопросы