ホームページ >バックエンド開発 >PHPチュートリアル >javascript - 想从后端直接传多个对象到前端js(页面请求的时候就赋值) 怎么做?

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

WBOY
WBOYオリジナル
2016-06-06 20:23:381443ブラウズ

想从后端直接传多个对象到前端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 的产品基本都是这么做的。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。