Ajax HTML,JS,PHP request mit evalscripts

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ajax HTML,JS,PHP request mit evalscripts

    hallo leute ich habe eine kleine frage. hab auch das problem das nach dem js request kein js mehr funktioniert hab mir unten auch den fehler mit eval durchgelesen aber das klappt auch nicht richtig bei mir. ich hab folgendes problemchen und zwar habe ich diese seite in aufbau:
    ww.ascherpatrick.com/v1 wenn man hier auf bio klickt dann includest es die seite biographie.php in dieser eben ein noobslide event vorhanden ist. aber wie gesagt es funktioniert nicht mehr da ja das javascript fehlt. unten steht er source für den request:

    Quellcode

    1. function createRequestObject() {
    2. var ro;
    3. var browser = navigator.appName;
    4. if(browser == "Microsoft Internet Explorer"){
    5. ro = new ActiveXObject("Microsoft.XMLHTTP");
    6. }else{
    7. ro = new XMLHttpRequest();
    8. }
    9. return ro;
    10. }
    11. var http = createRequestObject();
    12. function doScript(url) {
    13. document.getElementById("content-three").innerHTML = '';
    14. document.getElementById("content-two").innerHTML = '<div style=top:50%;margin-top:-20px;position:absolute;margin-left:130px;><img src="images/loader.gif"><br>loading...</div>';
    15. http.open('get', url);
    16. http.onreadystatechange = handleResponse;
    17. http.send(null);
    18. return false;
    19. }
    20. function handleResponse() {
    21. if(http.readyState == 4){
    22. var response = http.responseText ;
    23. document.getElementById("content-two").innerHTML = response;
    24. }
    25. }
    Alles anzeigen


    Quellcode

    1. <a class=introduce href="introduce.html" onclick="return doScript(this.href);">Home</a>


    ich habe in der docu gelesen das dies eigendlich ganz einfach gehen würde wenn man die option evalscript hinzufügt da er dann einfach html und js laden würde. ich weis aber leider nicht wo ich diesen bei mir einbauen soll. bzw es hat auf meine art und weise nie geklappt...

    ar myHTMLRequest = new Request.HTML([options]);

    Arguments:

    1. options - (object, optional) See options below. Also inherited are all the options from Request.

    Options:

    * update - (element: defaults to null) The Element to insert the response text of the Request into upon completion of the request.
    * evalScripts - (boolean: defaults to true) If set to true, script tags inside the response will be evaluated.
    * evalResponse - (boolean: defaults to false) If set to true, the entire response will be evaluated.


    vielleicht kann mir ja jemand helfen wäre sehr dankbar dafür da ich seit 1nem tag nun anstehe und nichts gescheites darüber finde wie ich mein problem lösen könnte.
    vielen dank für eure bemühungen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ParTy ()

  • Hi
    wenn du MooTools verwendest, brauchst du dir den AJAX Request nicht umständlich selber zu programmieren, dann ist es nur noch die eine Zeile aus der Doku:

    Quellcode

    1. var myHTMLRequest = new Request.HTML({evalResponse:true, onComplete:function(responseTree, responseElements, responseHTML, responseJavaScript) {
    2. //do anything
    3. }).get('myPage.html');


    Lg
  • vielen lieben dank d0nut
    so einfach würde das also gehn :). hab das ganze jetzt eingebaut aber zurzeit funktioniert ja noch nichts. muss ich bei do something noch was einbauen? und wie muss der div benannt werden in dem es reingeladen wird?
    bin in ajax leider noch ziemlich ein anfänger. aber deine hilfe hat mir schonmal sehr weitergeholfen. geht das auch irgendwie dass irgendwie das ein loading gif gestartet wird und die url per link übergeben wird?

    z.b so:

    Quellcode

    1. <a class=introduce href="introduce.html">Home</a>


    vielen dank für deine bemühung bin wirklich schon 5 tage unterwegs im internet und am suchen aber wie gesagt nie was gscheides gfunden.... vielleicht kannst du mir ja mit dem obrigen auch noch helfen wäre sehr nett von dir und würd mir weitere 5 tage ersparen :D
  • Für eine vollständige Demo sieh dir am besten mal die MooTools Demo an: demos.mootools.net/Request.HTML

    Dort findest du auch eine onSuccess Methode und siehst wie DOM Elemente geändert werden.

    Quellcode

    1. window.addEvent('domready', function() {
    2. // You can skip the following two lines of code. We need them to make sure demos
    3. // are runnable on MooTools demos web page.
    4. if (!window.demo_path) window.demo_path = '';
    5. var demo_path = window.demo_path;
    6. // --
    7. //We can use one Request object many times.
    8. var req = new Request.HTML({url:demo_path+'data.html',
    9. onSuccess: function(html) {
    10. //Clear the text currently inside the results div.
    11. $('result').set('text', '');
    12. //Inject the new DOM elements into the results div.
    13. $('result').adopt(html);
    14. },
    15. //Our request will most likely succeed, but just in case, we'll add an
    16. //onFailure method which will let the user know what happened.
    17. onFailure: function() {
    18. $('result').set('text', 'The request failed.');
    19. }
    20. });
    21. $('makeRequest').addEvent('click', function() {
    22. req.send();
    23. });
    24. });
    Alles anzeigen
  • hallo danke ich kenne das bsp aber mein problem ist eben das ich nicht weis wie ich das einbauen soll mit dem eval script ...
    und wie ich das einbaue das es mit dem link klappt <a class=introduce href="introduce.html">Home</a> so z.b oder halt dann per onlick die funktion und dort die url übergebe hab schon mehreres probiert aber hab dann imemr das script zerschossen :(
    kannst mir da einwenig weiter helfen`?

    vielen lieben dank