如何以最简方式向SurveyJS结果传递自定义表单ID至后端?
解决表单ID无法传递到后端的问题
- 先排查基础问题:用
console.log(myformdata.formid)确认你的表单ID本身是否有有效值,避免是源数据为空导致没加上。 - 如果
result.data是不可修改的对象(比如被冻结、或是响应式框架的只读对象),别直接赋值,改用创建新对象的方式:// 方式1:用Object.assign合并 result.data = Object.assign({}, result.data, { formid: myformdata.formid }); // 方式2:用ES6扩展运算符 result.data = { ...result.data, formid: myformdata.formid }; - 要是用Vue这类响应式框架,修改响应式对象属性得注意:
// Vue 2 需要用$set确保响应式更新 this.$set(result.data, 'formid', myformdata.formid); // Vue 3 直接重新赋值即可 result.data = { ...result.data, formid: myformdata.formid }; - 检查后续代码:有没有其他地方重新给
result.data赋值,把你加的formid覆盖掉了。 - 更直接的方式:别等返回结果再修改,发起后端请求时就把formid放进请求参数里,比如:
// 以axios为例 axios.post('/your-backend-api', { // 原表单数据 ...yourFormData, // 追加表单ID formid: myformdata.formid })
内容的提问来源于stack exchange,提问作者Usman
相关产品推荐
相关产品推荐

