如何将AJAX返回的内容插入元素且不删除原有内容,解决append调用报错问题
问题根因
报错的核心原因是PHP接口返回的data.imgs是数组类型,jQuery的append()方法无法直接接收HTML字符串数组作为入参,因此触发参数类型不匹配的错误。
解决方案(二选一即可)
方案1:修改前端JS代码(无需调整后端)
把AJAX回调中原来的append语句改成如下写法,用join('')把数组合并为完整的HTML字符串后再插入:
// 替换原来的 $("#imgViewerContainer").append(data.imgs); $("#imgViewerContainer").append(data.imgs.join(''));
方案2:修改PHP后端代码(无需调整前端)
在PHP返回响应前,把存储图片标签的$thumbs数组合并为字符串,修改process.php最后一行的代码:
// 替换原来的 echo response(0,$thumbs,$num,$last); echo response(0, implode('', $thumbs), $num, $last);
额外优化提示
你当前JS代码中var process = 0;后立即判断if (process == 0)的逻辑是冗余的,每次触发提交事件都会重置process为0,该判断永远成立,可以直接删除相关逻辑简化代码。
内容的提问来源于stack exchange,提问作者Amenadiel
相关产品推荐
相关产品推荐

