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'));