JavaScript как текст ответа - PullRequest
1 голос
/ 16 июня 2010

У меня есть функция Ajax, которая будет получать сценарий RSS-канала с сервера.Я поместил этот текст ответа в div, используя:

$("#divId").html(responsetext);

Я хочу выполнить скрипт внутри ответа.В настоящее время RSS-каналы не отображаются в div.Есть ли способ сделать это?спасибо ..

responsetext
-------------  -

<div class="last-updated"  style="display: block" id="p-lastUpdated">Last Updated:16 Jun 2010 10:32 AM</div> 

<div id="digg-widget-1276598296115">

<a href="http://digg.com/search?s=timesofindia.indiatimes.com">See more timesofindia.indiatimes.com stories.</a>

</div>

<script type="text/javascript">

(function() { var s, s1, diggWidget = {id: "digg-widget-1276598296115", layout: 1, colors: {hdrBg: "#1b5790", hdrTxt: "#b3daff", tabBg: "#4684be", tabTxt: "#b3daff", tabOnTxt: "#d41717", bdyBg: "#fff", stryBrdr: "#ddd", lnk: "#105cb6", descTxt: "#999999", subHd: "#999999"}, title: "RSS Times of india", width: 480,height: 300, requests: [{t: "timesofindia.indiatimes.com", p: {count: "10", sort: "promote_date-desc", method: "story.getPopular", domain: "timesofindia.indiatimes.com"}}], hide: {footer: true, header: true}, target: "_blank", descriptions: "show", rounded: true}; if (window.DiggWidget) { if (typeof DiggWidget == 'function') { new DiggWidget(diggWidget); } else { DiggWidget.push(diggWidget); } } else { DiggWidget = [diggWidget]; s = document.createElement('SCRIPT'); s.type = 'text/javascript'; s.async = true; s.src = 'http://widgets.digg.com/widgets.js'; s1 = document.getElementsByTagName('SCRIPT')[0]; s1.parentNode.insertBefore(s, s1); } })();

</script>

Ответы [ 2 ]

0 голосов
/ 16 июня 2010

Мой ответ от Как вызвать Javascript в Ajax Response? IE: закрыть форму div в случае успеха

// response is the data returned from the server
var response = "html\<script type=\"text/javascript\">alert(\"foo\");<\/script>html";
var reScript = /\<script.*?>(.*)<\/script>/mg;
response = response.replace(reScript, function(m,m1) {
    eval(m1); //will run alert("foo");
    return "";
});
alert(response); // will alert "htmlhtml"
0 голосов
/ 16 июня 2010

Является ли ответ смешанным HTML и JavaScript или просто чистым javascript?

Если это чистый JavaScript, вы всегда можете использовать функцию eval("alert('Test');"), которая выполняет отправленный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...