Hey,
habe folgendes Problem, ich möchte Über ajax einen Div Bereich neu Laden lassen, zunächst einmal alle relevanten Codes:
Ordner Struktur:
/pages/profil/strg.php //soll die informationen von AJax auswerten
/pages/profil/ajax.js //das Ajax script
index.php // beinhaltet den div der neu geladen werden soll
es gibt eine .htacces Regel die den link manipuliert:
Datei: ajax.js
die links:
Ich habe 2 vermutungen zum einen, dass das # in der ajax.js nicht richtig ausgewertet werden kann,
zum anderen das die .htaccess den link manipuliert wodurch sie nicht mehr erkannt wird.
Fakt ist jedenfalls, das ajax mir: Seite wird geladen ... zurück liefert.
lg
habe folgendes Problem, ich möchte Über ajax einen Div Bereich neu Laden lassen, zunächst einmal alle relevanten Codes:
Ordner Struktur:
/pages/profil/strg.php //soll die informationen von AJax auswerten
/pages/profil/ajax.js //das Ajax script
index.php // beinhaltet den div der neu geladen werden soll
es gibt eine .htacces Regel die den link manipuliert:
Code:
RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ index.php?kat1=$1&kat2=$2&kat3=$3&kat4=$4 [L]
RewriteRule ^(.*)/(.*)/(.*)/$ index.php?kat1=$1&kat2=$2&kat3=$3 [L]
RewriteRule ^(.*)/(.*)/$ index.php?kat1=$1&kat2=$2 [L]
RewriteRule ^(.*)/$ index.php?kat1=$1 [L]
Datei: ajax.js
HTML:
idArr = new Array("link1", "link2");
function $(id) {
return document.getElementById(id);
}
window.onload = function() {
for(i = 0; i < idArr.length; i++){
$(idArr[i]).onclick = function() {
getHttpRequest(this.href);
return false;
}
}
}
function getHttpRequest(url){
getParam = url.substr(url.indexOf('#'));
var xmlhttp = null;
// Mozilla
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", 'pages/profil/strg.php' + getParam , true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState != 4) {
$('pro_erg').innerHTML = 'Seite wird geladen ...';
}
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$('pro_erg').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
function evalScript(scripts)
{ try
{ if(scripts != '')
{ var script = "";
scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
if (scripts !== null) script += arguments[1] + '\n';
return '';});
if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
}
return false;
}
catch(e)
{ alert(e)
}
}
die links:
HTML:
<a href="#home" id="link1">Home</a><br />
<a href="#gb" id="link2">Gästebuch</a><br />
Ich habe 2 vermutungen zum einen, dass das # in der ajax.js nicht richtig ausgewertet werden kann,
zum anderen das die .htaccess den link manipuliert wodurch sie nicht mehr erkannt wird.
Fakt ist jedenfalls, das ajax mir: Seite wird geladen ... zurück liefert.
lg