You are not logged in.

  • Login

1

Tuesday, August 26th 2008, 1:47pm

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:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function createRequestObject() {
  var ro;
  var browser = navigator.appName;
  if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    ro = new XMLHttpRequest();
  }
  return ro;
}
 
var http = createRequestObject();

function doScript(url) {
  document.getElementById("content-three").innerHTML = '';
  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>';
  http.open('get', url);
  http.onreadystatechange = handleResponse;
  http.send(null); 
  return false;
}


function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText ;

        document.getElementById("content-two").innerHTML = 	response;
    }
}


Source code

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...

Quoted

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.

This post has been edited 1 times, last edit by "ParTy" (Dec 2nd 2009, 2:18pm)


2

Wednesday, August 27th 2008, 9:17am

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:

JavaScript Code

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


Lg

3

Wednesday, August 27th 2008, 11:20am

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:

Source code

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

4

Wednesday, August 27th 2008, 6:06pm

Für eine vollständige Demo sieh dir am besten mal die MooTools Demo an: http://demos.mootools.net/Request.HTML

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

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
window.addEvent('domready', function() {
	// You can skip the following two lines of code. We need them to make sure demos
	// are runnable on MooTools demos web page.
	if (!window.demo_path) window.demo_path = '';
	var demo_path = window.demo_path;
	// --
 
	//We can use one Request object many times.
	var req = new Request.HTML({url:demo_path+'data.html', 
		onSuccess: function(html) {
			//Clear the text currently inside the results div.
			$('result').set('text', '');
			//Inject the new DOM elements into the results div.
			$('result').adopt(html);
		},
		//Our request will most likely succeed, but just in case, we'll add an
		//onFailure method which will let the user know what happened.
		onFailure: function() {
			$('result').set('text', 'The request failed.');
		}
	});
 
	$('makeRequest').addEvent('click', function() {
		req.send();
	});
 
});

5

Wednesday, August 27th 2008, 6:10pm

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

6

Wednesday, August 27th 2008, 8:45pm

Hm, ich würd mir an deiner Stelle ein Buch zu mootools oder grundlegendem JavaScript holen.
Der ClickEvent wird durch einen EventListener hinzugefügt. Siehe Zeile 23

Social bookmarks