Есть один обходной путь, который больше напоминает хак, и я согласен, что это не самый элегантный способ сделать это, но работает на 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);
}
});
Просто не спрашивайте меня, почему:-) Это одна из тех вещей, к которым я пришел в результате отчаянных почти случайных испытаний и неудач.
У меня нет полных предложений о том, как это работает, но, что интересно, это НЕ будет работать, если вы добавите закрывающий тег в одну строку.
В такие моменты я чувствую, что я 'мы успешно разделены на ноль.