关于ajax请求的返回值只能通过ajax请求的回调渲染到前端么?
发布于 7 年前 作者 MannyWeirdo 4205 次浏览 来自 问答

求大神指点------我用一个ajax请求掉用我服务端的接口,处理完成拿到值之后,想直接用this.render()把数据渲染到前端,为什么没有效果。但是我还有一个接口的返回数据是可以通过this.render()渲染的,只不过这个请求是以表单的方式提交上来的。ajax请求的返回值只能通过ajax请求的回调渲染到前端么?如图:WX20170418-170858@2x.pngWX20170418-170953@2x.png

5 回复

@klouskingsley 查了下资料,这个属性是跟你预期服务器返回的数据类型有关的,跟我问的这个问题没有多大的联系。参考:http://blog.csdn.net/s2940086379/article/details/46323489

这个肯定是可以的。 先看看你的data有值没。最简答的做法 你就先别返回json什么的,就返回一个简单的字符串,然后渲染到前端,看看能否成功。 还有你的 showResult是个啥,div还是input

照我理解是的,ajax是异步的,你请求发出去之后,代码就往下执行了,当执行到你处理数据的那个函数时,ajax不一定已经返回数据了;放在回调里面,保证函数执行时能够有数据。

@imhered 我尝试过干脆就渲染一个字符串给前端,不管this.response.body 有没有值(其实调试过是有值的),不过还是没有作用。showresult是一个textarea。

@TonyYu2015 嗯,其实解决的方案,就是通过ajax回调进行交互。可是还是不能理解为什么直接用xtemplate渲染就不行呢,是不是有点钻牛角尖了。感觉是一个流程上的问题,可能我ajax或者koa中间件的理解还不够透彻。

回到顶部