Ajax 到 servlet

Posted

技术标签:

【中文标题】Ajax 到 servlet【英文标题】:Ajax to servlet 【发布时间】:2019-12-13 21:43:34 【问题描述】:

您好,我在如何将数组对象数据从 jsp 发送到 servlet 时遇到问题,

var i = 1;
var a; 
$(document).ready(function()

$('#add').click(function()
    i++;
    $('#dynamic_field').append('<tr id="row'+i+'"><td><select name="txtProduct'+i+'" id="txtProduct'+i+'" class="form-control name_list" ><option value="">- Product -</option><%=obj.getProductOpt("")%></select></td><td><input type="text" name="txtQty'+i+'" id="txtQty'+i+'" class="form-control"/></td><td><input type="button" name="remove" value="X" id="'+i+'" class="btn btn-danger btn_remove"/> </td></tr>');
    var b = i - 1;
    $( "[id^="+b+"]" ).prop( "disabled", true );
    $( "[id^="+i+"]" ).prop( "disabled", false );
);
$(document).on('click', '.btn_remove', function()
    i--;
    var button_id = $(this).attr("id");
    $('#row'+button_id+'').remove();
    var b = i;
    $( "[id^="+b+"]" ).prop( "disabled", false );
);

$('#addButton').click(function()
    var data = [];
    var n = 0;
    var c = 0;
    for (a = 1; a <= i; a++)  
        var txtProduct = document.getElementById("txtProduct"+a+"").value;
        var txtQty = document.getElementById("txtQty"+a+"").value;
        var val = "pname": txtProduct, "qty": txtQty;
        data.push(val);

    
    for(ii = 0; ii < a; ii++)
            var pname = [];
            var qty = [];
            pname[ii] = data[ii].pname;
            qty[ii] = data[ii].qty;
        
);
);

问题是我已将值放入变量中,但我的问题是我不知道如何通过 ajax 或其他方式将其发送到 servlet,我尝试观看有关 ajax 的教程,但这对我来说没有意义,因为它们每个人都有不同的方法,我希望有人能帮助我,谢谢

【问题讨论】:

转换您的数据以json 格式发送并在您的servlet 解析它。 【参考方案1】:

在jsp中使用setAttributes可以做到: 首先,您需要将数组转换为数组列表的形式,然后执行以下代码: request.getSession().setAttribute("数组列表名称", 数组列表名称对象); ArrayList list=request.getParameter("数组列表名称");

【讨论】:

以上是关于Ajax 到 servlet的主要内容,如果未能解决你的问题,请参考以下文章

ServletServlet 详解(使用+原理)

ServletServlet容器等内容讲解

web.xml servletservlet-mapping配置

ServletServlet学习之基础篇

ServletServlet学习之基础篇

ServletServlet学习之基础篇