2013-04-12 50 views
0

我試圖從使用jQuery調用Servlet的使用jQuery

$(document).ready(function() { 
    $("#mybutton").click(function(event) { 
     alert('1'); 
     $.get("http://localhost:8888/ntlm/getuser", function(data) { 
      alert('data ' + data); 
      $(".errorMssg").text("Data Loaded: " + data); 
      alert('data ' + data); 
     }); 
     return true; 
    }); 
}); 

一個servlet和的getUser的servlet檢索我有

public void doGet(HttpServletRequest request, 
        HttpServletResponse response) throws ServletException, 
                 IOException { 
    response.setContentType(CONTENT_TYPE); 
      response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    out.print("Authenticating?"); 
} 

protected void doPost(HttpServletRequest request, 
         HttpServletResponse response) throws ServletException, 
                  IOException { 
    doGet(request, response); 
} 

如果我直接訪問http://localhost:8888/ntlm/getuser,我能看到輸出,但是當我使用Jquery調用時,無法看到輸出。

這可能是什麼原因?

+1

控制檯說什麼? – alkis

+0

@alkis響應爲空。 – user75ponic

+0

* empty *是什麼意思?你看到alert('data')'兩次? –

回答

1

要執行跨域請求,例如從http://192.168.1.2:8988提供的網頁,以http://localhost:8888/ntlm/authenticate的請求,你要麼需要啓用CORS或使用JSONP。

jQuery JSONP

+0

感謝Paul的解決方案。 – user75ponic