2013-07-18 74 views
0

您好我正在使用servlet我的第二個ajax程序。但它不工作。請幫助ajax與java不工作

index.html 

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function callServer(str){ 
alert(str); 
var myxml = new XMLHttpRequest(); 
myxml.onreadystatechange = function { 
    if(myxml.readyState == 4 && myxml.status == 200) 
     document.getElementById("replay").innerHTML = myxml.responseText; 
} 
myxml.open("GET",""/suggest?query=str",true); 
myxml.send(); 

    } 
    </script> 
    </head> 
    <body> 
    <input id="enter" type="text" onkeyup="callServer(this.value)" /> 
    <div id="replay"></div> 
    </body> 
    </html> 

和我的servlet是這裏...

import java.io.IOException; 
    import javax.servlet.ServletException; 
    import javax.servlet.annotation.WebServlet; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
    @WebServlet("/suggest") 
    public class suggest extends HttpServlet { 
public suggest() { 
    super(); 
    } 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    String [] values = {"sha","kla","hello","bun"}; 
    String query = request.getParameter("query"); 
    for (int i = 0; i < values.length; i++) { 
     if (values[i].equals(query)) 
      response.getWriter().write("OK its available dude... "+query); 
     else response.getWriter().write("Sorry not yet... "+query); 

    } 

} 

}

在這裏,我認爲錯誤可能是在JS功能callserver。我已經檢查了每一行的警戒站點檢查,它工作正常,直到行 myxml.onreadystatechane =函數。警報一直工作到那裏。請幫助

+2

'{功能',' 「」?/提示查詢= STR「'...你至少應該通過運行代碼http://jshint.com之前或之前張貼代碼與這樣的基本語法錯誤 –

+0

或使用任何瀏覽器隨附的開發人員工具您只使用警報嗎woah。 – FlavorScape

+0

考慮使用jQuery - 它更容易使用,更容易編寫,更多的跨平臺,查看jQuery的'.get'方法,你的生活將會變得更加容易 或者它可能就是那個ug ly雙引用@FabrícioMatté指出... –

回答