Home >Backend Development >PHP Tutorial >javascript - 想从后端直接传多个对象到前端js(页面请求的时候就赋值) 怎么做?

javascript - 想从后端直接传多个对象到前端js(页面请求的时候就赋值) 怎么做?

WBOY
WBOYOriginal
2016-06-06 20:23:381444browse

想从后端直接传多个对象到前端js(页面请求的时候就赋值)
改要怎么弄?
是页面完成后立马执行ajax传过来?


我是直接写在html

<code class="javascript">obj1 = JSON.parse('{jsonData1}');
obj2 = JSON.parse('{jsonData2}');</code>

可是数据一旦复杂就会报
javascript - 想从后端直接传多个对象到前端js(页面请求的时候就赋值) 怎么做?

如果用ajax传过来的话就不会报错

我也想要js和html分离开来 这种情况要怎么处理比较合适?

回复内容:

想从后端直接传多个对象到前端js(页面请求的时候就赋值)
改要怎么弄?
是页面完成后立马执行ajax传过来?


我是直接写在html

<code class="javascript">obj1 = JSON.parse('{jsonData1}');
obj2 = JSON.parse('{jsonData2}');</code>

可是数据一旦复杂就会报
javascript - 想从后端直接传多个对象到前端js(页面请求的时候就赋值) 怎么做?

如果用ajax传过来的话就不会报错

我也想要js和html分离开来 这种情况要怎么处理比较合适?

  • 直接写没问题,自己 escape 一下特殊符号。

  • 页面加载时阻塞加载一个 JS 文件(类似 JSONP 的方法),里面放你的数据。

  • 页面加载时使用同步 XHR 加载数据(强烈不推荐)。

以上三个方法可以保证实现页面加载完成时已经读到数据。

但是我很不建议你这么做。同步阻塞的方式其实不利于用户体验。其实 Ajax 传过来没什么不好的。不如页面上先放一个「加载中」的占位,等 Ajax 数据返回后再渲染你的内容,然后替换掉那个占位。Google 的产品基本都是这么做的。

直接异步请求吧,也没啥“好办法”

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn