@pup_pupets

Как запустить jQuery-скрипт, пришедший с сервера?

$.ajax отправляет запрос на сервер, используя dataType: script и GET. Ответ приходит в виде:
$("#items").html('<tag>....</tag>');

Вопрос: как запустить пришедший ответ? Т.е. отдал скрипт сервер и как его запустить у клиента?

Пробовал eval - не получилось.
  • Вопрос задан
  • 2473 просмотра
Пригласить эксперта
Ответы на вопрос 4
mlnkv
@mlnkv
JavaScript Developer
если скрипт приходит с сервера, то у вас уже что то не так (если только это не сервис типа jsbin.com/), а вообще в jQuery есть $.getScript( url [, success ] )
Ответ написан
jakulov
@jakulov
У меня работал такой вариант
<textarea id="script_buffer" style="display:none;"></textarea>
<script>
function scriptBuffer() {
        var sb = document.getElementById('script_buffer');
	if (sb.value) {
		var script = sb.value;
		sb.value = '';
		eval(script);
	}
}
</script>

При получении ответа записывать его в textarea и потом вызывать функцию scriptBuffer;
Ответ написан
@Snewer
Если приходит
$("#items").html('<tag>....</tag>');
то можно распарсить данную строку, достать #items и соответствующий ему html код, и выполнить его
$(selector).html(html);
Ответ написан
Комментировать
Вообще, в таких случаях принято использовать JSONP. jQuery с ним отлично умеет работать. Нужно только в dataType передать 'jsonp'. Так что, если есть возможность модифицировать backend, то это лучший вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы