一个 json 请求到多个 DOM 目标 - 如何实现?

发布于 2024-11-26 03:05:38 字数 997 浏览 2 评论 0原文

我有一个“列表”,我想用 background-json 请求填充它。 项目有不同的标题,流量应该最小(移动网络应用程序), DOM 结构类似于:

<div id="deckStart">
  <div id="cardContacts">
    <h2>Contacts</h2>
    <div id="cardContactsContent">nothing here until JSON</div>
  </div>
  <div id="cardTodo">
    <h2>To do</h2>
    <div id="cardTodoContent">nothing here until JSON</div>
  ....

//EDIT

OK,这有效:

x$(window).on('load', function() {
  x$(window).xhr('json.txt', {
    async: true,
    callback: function() {
      var t = eval('(' + this.responseText + ')');
      for(var key in t) {
        var obj = t[key];
        x$('#' + key).html('inner',obj);
      }
    }
 });

但是为什么 JSON.parse 在 chrome 上不起作用? Eval 看起来很脏..

//end edit

用一个 JSON 请求填充相应内容 div 的最有效方法是什么?

  • 临时加载到 JS 数组中?
  • 临时加载到隐藏的 DOM 部分?
  • 一些正则表达式技巧或其他我想不到的?

网络稳定性/速度不可靠。

问候,

I'm having a "list" that I want to populate with a background-json request.
Items have different headings and traffic should be minimal (mobile webapp),
DOM-structure something like:

<div id="deckStart">
  <div id="cardContacts">
    <h2>Contacts</h2>
    <div id="cardContactsContent">nothing here until JSON</div>
  </div>
  <div id="cardTodo">
    <h2>To do</h2>
    <div id="cardTodoContent">nothing here until JSON</div>
  ....

//EDIT

OK, this works:

x$(window).on('load', function() {
  x$(window).xhr('json.txt', {
    async: true,
    callback: function() {
      var t = eval('(' + this.responseText + ')');
      for(var key in t) {
        var obj = t[key];
        x$('#' + key).html('inner',obj);
      }
    }
 });

but why doesn't JSON.parse work on chrome? Eval seems dirty..

//end edit

What would be the most efficient way to populate the respective content-divs with one single JSON-request?

  • Temp load into JS-array?
  • Temp load into hidden DOM-part?
  • Some regexp-trick or other I cannot think of?

The network stability / speed is unreliable.

regards,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

染墨丶若流云 2024-12-03 03:05:38

你能在那里得到 jQuery 吗?您可以使用 jQuery 轻松完成...

Can you get jQuery on there? You could do it in a heartbeat with jQuery...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文