1

我想使用 AJAX 调用从同一页面检索 HTML 和 Javascript。但是,我不确定最好、最干净、最安全的方法是什么。我希望我的 Javascript 编辑客户端上已定义的对象。到目前为止,我的想法是:

在某些事件上执行的客户端脚本:

getMoreStuff = function () {
  $.ajax({
    url: '/someRoute',
    success: function (data) {
      $data = $(data);
      $things = $data.find('#things');
      $('#content').append($things);
      // Execute the script
    }
  })
}

AJAX 请求的正文:

<div id="things">
  <div class="post">...</div>
  <div class="post">...</div>
  <div class="post">...</div>
  <div class="post">...</div>
  <div class="post">...</div>
</div>
<script>
  (function() {
    window.things || (window.things = []);
    things.concat([...some array...]);
  })();
</script>

我不确定我的 jQuery 代码是否在我定义$data. 还是应该将脚本作为字符串发送并使用 eval?

这行得通吗?

$(document.body).append($data.find('script'));
4

1 回答 1

3

在此处查看数据类型

“html”:以纯文本形式返回 HTML;包含的脚本标签在插入 DOM 时进行评估。

于 2012-06-28T02:56:30.460 回答