关于前端将一个集合传递到后端

本文描述了在前端通过Ajax向后端传递一个集合数据时遇到的问题,即后端接收到的JSON字符串能成功转换为对象但值为空。作者列举并分析了可能导致该问题的原因,包括前端传递的值与后端模型不匹配、JSON格式错误、以及后端转换方法不正确等,并提出了对应的解决方案,强调了前后端字段一致性、JSON字符串规范以及使用Fastjson库进行对象转换的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近做作业遇到一个问题。

先说说一下整体的逻辑结构吧。我在做添加的时候,添加单选题题目需要在前端向后端发送一个“题目”的数据结构,和题目的题目选项发送给后端。

附上各个标签参数 图1

图1 form表单中的数据

在前端输入数据后发送ajax将需要的值包装一下然后发送

前端发送的值 ,如下图 图2

图2 ajax传递值

附上optionJson的获取方法 图3

图3 optionJson【】的获取

 var catId = localStorage.getItem("catId")
    console.log(catId)


    function optionJsonOptionContent() {
        //获得name相同的标签包装成集合
        // [{"optionName":"A","content":"111","flag":1},
//        {"optionName":"B","content":"222","flag":0},
//        {"optionName":"C","content":"333","flag":0},
//        {"optionName":"D","content":"444","flag":0}]
        var optionJson = []
        var length = $("textarea[name='optionsJson']").length
        for (var i = 0; i < length; i++) {
            var obj = new Object()
            //获得 name相同的第i个的值   .value
            obj.content = $("textarea[name='optionsJson']")[i].value
            //获得 name相同的第i个的id的字符串的最后一个字符   .substr(-1)
            obj.optionName = $("textarea[name='optionsJson']")[i].id.substr(-1)
            conso
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值