【问题标题】:invoke Java Servlet doGet method from JavaScript code从 JavaScript 代码调用 Java Servlet doGet 方法
【发布时间】:2012-02-15 09:56:39
【问题描述】:

我想问我需要编写哪些代码才能在 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;
}
}

提前致谢, 塔尔·切尔尼霍夫斯基。

【问题讨论】:

  • 运行这段代码会发生什么?
  • 在 javascript 代码触发 ASPX 代码之前似乎没有发生任何事情,但是我的 servlet 和 ASPX 页面具有相同的响应,所以我不知道为什么 ASPX 页面但 servlet 没有

标签: javascript servlets http-get


【解决方案1】:

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

未捕获的类型错误:对象#&lt;XMLHttpRequest&gt; 没有方法'Open'

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

另见:

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2015-06-02
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多