从JavaScript代码调用Java Servlet doGet方法

时间:2012-02-15 09:56:39

标签: javascript servlets http-get

我想问一下我需要编写哪些代码才能在Java Servlet中调用doGet()。现在我写的代码是:

function(){
            var sURL = getUniqueSid("http://localhost:8080/Test/Sample?F=" + f + "&FB=" + fb);
            var ret = xmlSyncHttpReq(sURL);
            if (ret){
                var params = new GG_ContainerParams("General");
                var xTarget = params.dataSource;
                var xElms = ret.selectNodes("Param");
                for (var i=0;i<xElms.length;i++){
                    var x = xElms(i).cloneNode(true);
                    var chk = xTarget.selectSingleNode("Param[@Name = \"" + x.getAttribute("Name") + "\"]");
                    if (chk)xTarget.replaceChild(x,chk);
                    else xTarget.appendChild(x);
                    params.redraw();
                }
            }

function xmlSyncHttpReq(sURL,xmlSend,doThrow){
try{
    var xmlhttp = new  XMLHttpRequest();//ActiveXObject("Microsoft.XMLHTTP");
    sURL = getUniqueSid(sURL);
    xmlhttp.Open("GET", sURL, false);
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    if (typeof(xmlSend) == "object" && xmlSend != null)xmlSend = xmlSend.xml;
    xmlhttp.Send(xmlSend);  
    if(xmlhttp.responseXML.documentElement){
        if (checkErrors(xmlhttp.responseXML))return false;
        else return  xmlhttp.responseXML.documentElement;
    }
    xmlhttp = null;
    return false;
}catch(e){
    if (doThrow)throw e;
    else alert(e.description);
    return false;
}
}

提前致谢, Tal Tchernihovski。

1 个答案:

答案 0 :(得分:0)

注意浏览器中的JavaScript控制台。你应该看到以下错误:

  

未捕获的TypeError:对象#<XMLHttpRequest>没有方法'Open'

JavaScript遵循Java命名约定,而不是C#命名约定。方法以小写开头。您需要使用open()send()代替Open()Send()

另见: