为了账号安全,请及时绑定邮箱和手机立即绑定

后端返回的HTML代码字符串怎么能自动渲染到前端页面

后端返回的HTML代码字符串怎么能自动渲染到前端页面

汪汪一只猫 2018-09-24 19:44:31
前台用 form 表单的形式提交数据,后台通过 res.render(用的ejs) 可以正常渲染前端的页面,后台代码如下:router.post('/classifyadd', (req, res) => {    let {classifyname} = req.body;     Classify.create({         name: classifyname     }).then(doc => {         responseData.msg = doc.name;                  res.render('admin/frame', {             page: 'successtip'         });     }); });问题是:当我用 ajax 的形式提交数据,后台同样的写法,前端却不能渲染,我看了响应头也确实是 Content-Type: text/html; charset=utf-8?我知道前端拿到数据后可以通过 innerHTML 的形式塞进页面,但不确定这是不是一个正确的方法?还是用 AJAX 请求时,后端就不能直接渲染(res.render),只能返回数据,前端拿到数据后再操作DOM,还有其他方法吗?同样的问题链接,还没有一个好的方案。谢谢各位!
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

应该只返回纯数据,前端再渲染成 HTML。直接 innerHTML 有可能导致 XSS 攻击。

查看完整回答
反对 回复 2018-09-24
  • 1 回答
  • 0 关注
  • 10785 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信