Существует одно обходное решение, которое звучит скорее как взлом, и я согласен, что это не самый элегантный способ сделать это, но работает на 100%:
Скажите, что ваш ответ AJAX похож на
<b>some html</b>
<script>alert("and some javscript")
Обратите внимание, что я специально пропустил закрывающий тег. Затем в скрипте, который загружает указанное выше, сделайте следующее:
$.ajax({
url: "path/to/return/the-above-js+html.php",
success: function(newhtml){
newhtml += "<";
newhtml += "/script>";
$("head").append(newhtml);
}
});
Просто не спрашивайте меня, почему :-) Это одна из тех вещей, которые я пришел в результате отчаянного почти случайных проб и неудач.
У меня нет полных предложений о том, как это работает, но, что интересно, он НЕ будет работать, если вы добавите закрывающий тег в одну строку.
В такие моменты, как я, мне нравится Я успешно делим на ноль.