jason 获取数据时显示undefined错误

本文介绍如何使用JSON.parse函数将JSON格式的字符串转换为JavaScript对象,以便于进一步操作和获取对象的属性值。

用json.js提供的JSON.parse(string)函数将字符串转化为对象,这样才可以获取对象的属性值

function query_reapply() { debugger; var toast = alertToast(); var flag = valid(toast); var applyreportAttachs = document.getElementById("applyreportAttachs").files; if(applyreportAttachs.length > 5){ toast.fire({ icon: 'error', title: '上傳附件的數量不可超過5個!' }); return; } if (flag) { var formData = new FormData(); var searchParams = new URLSearchParams(window.location.search); var formNo=searchParams.get("formNo") formData.append('formNo',formNo); formData.append('factNum', $("#factNum").val()); formData.append('customId', $("#customId").val()); formData.append('needTime', formatDate($("#needTime").val())); formData.append('applyDepart', $("#applyDepart").val()); formData.append('aimexplain', $("#aimexplain").val()); formData.append('aimText', $("#aimText").val()); formData.append('providefac', $("#providefac").val()); formData.append('customGroup', $("#customGroup").val()); formData.append('fileFormatA', $("#fileFormatA").val()); formData.append('fileFormatB', $("#fileFormatB").val()); formData.append('fileFormatC', $("#fileFormatC").val()); formData.append('fileFormatText', $("#fileFormatText").val()); for(var i = 0;i < applyreportAttachs.length;i++){ formData.append('file'+i, applyreportAttachs[i]); } //需求樣式/數量 debugger; var needStyleChecked = {} $('#needStyle1, #needStyle2').each(function () { var checkboxId = $(this).attr("id"); // 获取复选框的value值 var checkboxValue = $(this).val(); // 存储复选框的状态和value值 needStyleChecked[checkboxId] = { checked: $(this).is(":checked"), value: checkboxValue }; if ($(this).is(":checked")) { var inputId = checkboxId.replace('Style', 'Num'); needStyleChecked[inputId] = $('#' + inputId).val(); } }); // formData["needStyle"] = JSON.stringify(needStyleChecked); formData.append('needStyle',JSON.stringify(needStyleChecked)); //資料內容 var checkedTemp = {}; //初始化存放多选框的容器 //根据多选框的id来循环状态放入容器中,如果后续添加其他的多选框只需要添加多的id即可 $('#outerLayers, #innerLayers, #smLLayers, #legendLayers, #goldLayers, #pasteLayers, #panelDrawing,#panelDrawingText, #mechanics,#mechanicsText, #addCustom, #other,#otherText'). each(function () { var checkboxId = $(this).attr("id"); var checkboxValue = $(this).val(); checkedTemp[checkboxId] = { checked: $(this).is(":checked"), value: checkboxValue }; // 如果是下拉框,获取下拉框的值 if ($(this).is('select')) { checkedTemp[checkboxId] = $(this).val(); } }); // 获取"其他"复选框对应的输入框值 if ($('#other').is(":checked")) { checkedTemp['otherText'] = $('#otherText').val(); } // 遍历所有钻孔相关的复选框 $('#drillOne, #drillTwo, #drillThree, #drillFour, #drillFive, #drillSix, #drillSeven, #drillEight, #drillNine').each(function () { var checkboxId = $(this).attr("id"); var checkboxValue = $(this).val(); checkedTemp[checkboxId] = { checked: $(this).is(":checked"), value: checkboxValue }; }); //将多选框的选择顺序转化为Jason字符串后存入大的容器当中来提交到后端,命名为checkedList,这样即使后面的结构更改也不需要修改表结构 // formData['checkedList'] = JSON.stringify(checkedTemp); formData.append('checkedList',JSON.stringify(checkedTemp)); //附件提供 var attachmentChecked = {} $('#runCard,#runCardText,#dwDrill,#dwDrillText,#customMemo,#customMemoText,#projectForm,#projectFormText').each(function () { var attachmentId = $(this).attr("id"); var attachmenValue = $(this).val(); attachmentChecked[attachmentId] = { checked: $(this).is(":checked"), value: attachmenValue }; if ($(this).is('select')) { attachmentChecked[attachmentId] = $(this).val(); } }); // formData['attachmentProvide'] = JSON.stringify(attachmentChecked); //// formData.append('notesExplain',$("#notesExplain").val()); // formData['notesExplain']=$("#notesExplain").val() formData.append('attachmentProvide',JSON.stringify(attachmentChecked)); formData.append('notesExplain',$("#notesExplain").val()); formData.append('reApply',$("#reApply").val()); debugger; toast.fire({ icon: 'info', title: '重送申請中,請耐心等待...' }); $.ajax({ url: "applicationupdate.aspx?type=apply", method: "POST", data: formData, success: function (response) { // 请求成功的回调函数 if (response.status === "success") { debugger; toast_msg(response.status, response.context); // 可以在这里执行其他成功后的操作,例如关闭模态框 refreshTableSchedule(); } else { // 如果是错误状态,显示错误消息但不刷新页面 toast_msg(response.status, response.context); } }, error: function (xhr, status, error) { // 请求失败的回调函数 toast_msg('error', '儲存失敗!'); console.error('数据发送失败:', error); // 这里可以添加失败后的其他操作,比如提示用户保存失败 } }); } }为什么formData没有资料
最新发布
06-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值