You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按顺序获取UL列表中的名称并通过Ajax POST提交?

解决方法:提取UL列表中的名称并通过Ajax发送

嘿,我来帮你搞定这个问题!要把testCaseList里的名称提取出来并存入变量,再通过Ajax POST发送到后端,你可以按照下面的步骤操作:

1. 提取列表中的名称

我们可以用jQuery的.map()方法遍历每个<li>元素,提取其中的纯文本内容(自动去除多余空格和后面图标区域的干扰),最后把结果转换成数组:

// 获取所有li元素,提取名称并转为数组
var testCaseNames = $('#testCaseList li').map(function() {
    // 提取li的文本并去除前后空格,得到纯净的名称
    return $(this).text().trim();
}).get();

执行这段代码后,testCaseNames就是你需要的数组:["xzxc", "sdad"],完全符合你的预期。

2. 修正Ajax请求代码

你原来的代码有个小问题:在定义testCaseNames之前就把它作为请求数据传递了,这会导致变量未定义的错误。我们把提取名称的逻辑放在Ajax请求之前,再发送请求:

$('#btnSubmit').click(function (e) {
    e.preventDefault();
    
    // 第一步:先提取名称列表
    var testCaseNames = $('#testCaseList li').map(function() {
        return $(this).text().trim();
    }).get();
    
    // 第二步:发送Ajax POST请求
    $.ajax({
        type: 'post',
        url: '/create-flow/save',
        data: { testCaseNames: testCaseNames },
        success: function(code) {
            // 请求成功后的处理逻辑,比如打印返回结果或提示用户
            console.log('保存成功!返回码:', code);
        },
        error: function(xhr, status, error) {
            // 加上错误处理,方便调试问题
            console.error('请求出错:', error);
        }
    });
});

3. 完整可运行代码示例

把所有部分整合起来,完整的代码如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="testCaseList" class="list-group testCaseList">
    <li class="list-group-item justify-content-between" draggable="false" style="">xzxc 
        <div class="icons-right">
            <a class="action-icon" id="edit-xzxc" name="xzxc" draggable="false"><span class="fa fa-edit"></span></a>
            <a class="action-icon" id="delete-xzxc" name="xzxc" draggable="false"><span class="fa fa-trash"></span></a>
        </div>
    </li>
    <li class="list-group-item justify-content-between" draggable="false" style="">sdad 
        <div class="icons-right">
            <a class="action-icon" id="edit-sdad" name="sdad" draggable="false"><span class="fa fa-edit"></span></a>
            <a class="action-icon" id="delete-sdad" name="sdad" draggable="false"><span class="fa fa-trash"></span></a>
        </div>
    </li>
</ul>
<button id="btnSubmit">Submit</button>

<script>
$('#btnSubmit').click(function (e) {
    e.preventDefault();
    
    var testCaseNames = $('#testCaseList li').map(function() {
        return $(this).text().trim();
    }).get();
    
    $.ajax({
        type: 'post',
        url: '/create-flow/save',
        data: { testCaseNames: testCaseNames },
        success: function(code) {
            console.log('保存成功!', code);
        },
        error: function(xhr, status, error) {
            console.error('请求失败:', error);
        }
    });
});
</script>

这样点击Submit按钮时,就会把提取到的名称数组通过POST请求发送到你指定的后端接口啦~

内容的提问来源于stack exchange,提问作者user9176898

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:43:57