[js] kod w stronie pobranej przez ajax

0

Witam.
Stronę napisałem w oparciu o ajax. Niestety jeśli dam jakiś kod w js na podstrone która zostanie pobrana to nie zostanie wykonany.

<body onload="javascript:alert('ok');">
podstronaaaa..
<script>
alert('aaa');
</script>

Jeśli tą strone pobiorę za pomocą ajax i wpisze w jakiegoś diva to skrypty zawarte w tej stronie nie zostaną wykonane.
Co zrobić aby dało się zamieszczać kod js w podstronach?

0

zasadniczo, to tak się nie robi.

AJAX to Asynchronous JavaScript and XML - treścią wiadomości powinny być dane osadzone w XML, cały kod powinien być od początku oprogramowany na stronie "głównej"

0

Możesz też wszystkie funkcje wwalić na stronę główną, a co kiedy odpalać oznaczać komentarzami:

<!-- run |jakasfunkcja()| -->
Wtedy przez JS po pobraniu kodu sprawdzamy czy nie ma takiego komentarza na początku responseText, jeśli jest to przez split() wydobywamy funkcję którą trzeba uruchomić. Taki przypadek stosuje się, jeśli chcesz jakiś JS odpalić od razu na jednej z kilku pobieranych przez AJAX stron. Jeśli chcesz efekty po kliknięciu, czy po realizacji requestu to nie widzę problemu.

0

AJAX to Asynchronous JavaScript and XML - treścią wiadomości powinny być dane osadzone w XML

Masz rację co do rozwinięcia skrótu, jednak obecnie nigdzie chyba nie stosuje się formatu XML do technologii AJAX. Wszystko idzie w JSON'nie, z uwagi na łatwość deserializacji takiego obiektu w Javascript - eval()

0
Deti napisał(a)

jednak obecnie nigdzie chyba nie stosuje się formatu XML do technologii AJAX.

ja stosuję ;)

Jeżeli chodzi o JSON to rzeczywiście, fajny "język", ale deserializacja przez eval() wydaje mi się trochę mało elegancka... Kwestia formatu to jednak mniej istotna sprawa - ważne jest, że AJAX przesyła dane, nie kod.

edit: a przesyłania danych w komentarzach odradzam - parser ma pełne prawo komentarze wywalać

1 użytkowników online, w tym zalogowanych: 0, gości: 1