我想使用 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'));