【问题标题】:sending a selected value from a dropdownlist to a servlet with xhr使用 xhr 将下拉列表中的选定值发送到 servlet
【发布时间】:2010-03-23 10:28:15
【问题描述】:

我正在尝试将下拉列表的单击值发送到我的 servlet,以使用收到的值运行 SQL 查询。为此,我正在使用这样的 Ajax:

function showProject(prj) {
    xmlhttp = GetXmlHttpObject();
    if (xmlhttp == null) {
        alert ("Browser does not support HTTP Request");
        return;
    }

    var url = "ServletxmlGenerator.java";
    idprj = prj.options[prj.selectedIndex].value;
    url = url + "?idprj=" + idprj;

    xmlhttp.onreadystatechange = stateChanged;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
}

servlet 时

String projectcode=(String) request.getParameter("idprj");

返回空值。

当我从构建下拉列表的 JSP 中选择一个值并从中处理函数 showProject 时,会发生同样的事情。它总是返回null。所以parameter(idprj) 无论如何都不会通过。我该如何处理。我需要将选定的值发送到 servlet 以运行我的 SQL 查询。

【问题讨论】:

    标签: ajax jsp servlets


    【解决方案1】:

    只需调试您的 Javascript 代码。例如,这说明了什么?

    idprj = prj.options[prj.selectedIndex].value;
    alert(idprj);
    

    为了更好的调试,我建议选择Firebug

    还可以通过独立执行 Servlet(只需在浏览器地址栏中输入其 URL,如 http://example.com/contextname/ServletxmlGenerator.java?idprj=1)并跟踪请求和 Servlet 代码来调试您的 Servlet。

    【讨论】:

    • 如果通过输入完整地址在 webbrowser 中手动调用 servlet 会发生什么,例如http://localhost:8080/contextname/ServletXmlGenerator.java?idprj=1(顺便问一下,你为什么用.java扩展名映射它?)
    • 不,很抱歉当我运行警报时它没有显示正确的值
    • 当我调用 servlet 时,它只显示以下内容: 很明显 idprj(参数)没有收到
    • 好的,JS 代码显示不正确的值?好吧,相应地修复它。而且servlet结果提示没有收到idprj,好吧,但是你在浏览器地址栏独立调用System.out.println(idprj)的时候,你有没有检查过System.out.println(idprj)的结果?学习调试。学习跟踪请求和代码。尝试逻辑思考。这一切都是微不足道的。祝你好运。
    • 当我输入正确的 idprj 时,xml 文件会正确生成,请帮助这是我完成此成功的最后一步
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多