如何在AJAX调用的圆括号内拼接两个变量?
拼接场景对应解决方案
1. 普通字符串拼接(用于生成请求参数、字段值等)
直接对两个变量做拼接操作即可,不需要额外嵌套多余的引号:const combinedVal = result[i].docNo + result[i].pId
如果需要加分隔符,比如短横线、下划线,直接在中间拼接对应的字符串:const combinedVal = result[i].docNo + '_' + result[i].pId
如果是ES6+环境,更推荐用模板字符串写法,避免引号嵌套错误:const combinedVal = ${result[i].docNo}${result[i].pId}``
2. 嵌套在其他字符串中拼接(比如动态拼接DOM元素、URL路径)
如果是要把拼接后的值放到其他字符串内部,比如AJAX回调中动态生成带参数的跳转链接,注意做好引号的闭合匹配:
// 模板字符串写法(推荐,可读性最高) const link = `<a href="/detail?docNo=${result[i].docNo}&pId=${result[i].pId}">查看详情</a>` // 普通字符串拼接写法 const link = '<a href="/detail?docNo=' + result[i].docNo + '&pId=' + result[i].pId + '">查看详情</a>'
常见问题排查
- 先确认属性名匹配:你测试代码里用的是
petitionId,实际要取的变量是pId,属性名写错会取到undefined,导致拼接结果异常 - 提前校验变量值:拼接前先执行
console.log(result[i].docNo, result[i].pId),确认两个变量都能正常取到有效值,再做拼接操作 - AJAX请求体传参时直接赋值即可,不需要额外加引号:
$.ajax({ url: "你的接口地址", type: "POST", data: { mergedParam: result[i].docNo + result[i].pId }, success: function(res) { // 回调逻辑 } })
内容的提问来源于stack exchange,提问作者lakshman Kommula
相关产品推荐
相关产品推荐

