Run Javascript in Ajax response

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Flamable
Δημοσιεύσεις: 19
Εγγραφή: 02 Ιούλ 2010 06:30

Run Javascript in Ajax response

Δημοσίευση από Flamable » 06 Δεκ 2010 18:29

Καλησπέρα σε όλους και καλές γιορτές. Αντιμετωπίζω το εξής πρόβλημα.
Προσπαθώ να τρέξω javascript σε δεδομένα ανταπόκρισης απο ajax. Τα δεδομένα είναι μίξη html (απο mysql) και javascript.Αφού μετά απο πολύ ψάξιμο κατάφερα να εκτελέσω την jvs.
αλλά προέκυψε κάτι καινούργιο. Ο κώδικας Jvs είναι μια απλή εντολή echo ("<script....
document.write(\"blabla\").....");. Βρήκα τον εξής κώδικα.
1 - from your ajax script put a id on your script like.
<script id="scriptFromAjax">
2 - On Success from ajax add the following line.
var response = o.responseText;
document.getElementById("ajaxresponseDiv").innerHTML = response;
//this is where you get all your script contents.
var scriptEle = document.getElementById('scriptFromAjax')
if(scriptEle!=null){
LoadJS(scriptEle.innerHTML);
}


3- Paste the following function in your receiving page. Put a div tag with id=dinamicJScontainer.

function LoadJS(theScript)
{
var newElem = document.createElement("script");
var elemJS = document.getElementById("dinamicJScontainer");


newElem.setAttribute("language","JavaScript1.2");
newElem.setAttribute("type","text/javascript");
//IE is failing on following line.
newElem.innerHTML = theScript;
alert(newElem.innerHTML );
elemJS.appendChild(newElem);
eliminar("dinamicJScontainer");

};

4- Optional -- call the following function if you want to clear the contents of jJavascript.
function eliminar(x){
while(document.getElementById(x).childNodes.length>0){
document.getElementById(x).removeChild(document.getElementById(x).childNodes
[0]);}
};

Αφού μου εμφανίσει το document.write μέσα στο alert και πατήσω ok ή close φορτώνει νέα σελίδα στο ίδιο παράθυρο η οποία είναι κενή και επίσης δεν ολοκληρώνεται ποτέ η φόρτωση της. Στον MOzilla η κενή σελίδα εκτυπώνει το document.write. Γιατί συμβαίνει αυτό? Γιατί εξαφανίζεται η ajax response σελίδα μετά το οκ ή το close στο alert?? Eυπρόσδεκτη κάθε βοήθεια.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες