2010-06-25 11 views
1

c'est mon code pour prendre la page externe en div en utilisant ajax ce que j'ai essayé est que j'ai cliqué sur le bouton je dois afficher la réponse dans div mais j'ai essayé plusieurs fois, mais ne fonctionne pas. mon code javascript estcomment appeler une page distante dans div?

var rootdomain="http://"+window.location.hostname 

function ajaxinclude(url) { 
    var url=rootdomain+url; 
    alert(url); 
var page_request = false 
if (window.XMLHttpRequest) // if Mozilla, Safari etc 
page_request = new XMLHttpRequest() 
else if (window.ActiveXObject){ // if IE 
try { 
page_request = new ActiveXObject("Msxml2.XMLHTTP") 
} 
catch (e){ 
try{ 
page_request = new ActiveXObject("Microsoft.XMLHTTP") 
} 
catch (e){} 
} 
} 
else 
return false 
page_request.open('GET', url, false) //get page synchronously 
page_request.send(null) 
writecontent(page_request) 
} 

function writecontent(page_request){ 
if (window.location.href.indexOf("http")==-1 || page_request.status==200) 
document.getElementById("eee").innerHTML=(page_request.responseText); 
} 

et voici ma section de corps: -----

<input type="button" onclick="ajaxinclude('/songcake/index.php')" value="Click !" /> 
<div id="eee" style=" width:400px; height:800px;"> 
</div> 

s'il vous plaît aider

Merci.

Répondre

1

joindre votre méthode pour onreadystatechange qui pas là dans votre code

page_request.onreadystatechange = writecontent; 

function writecontent() { 
    if (page_request.readyState != 4) { return; } 
    document.getElementById("eee").innerHTML=(page_request.responseText); 

} 
+0

Je ne pense pas que innerHTML soit supporté par tous les navigateurs. – Craig

+0

mais comment dois-je inclure ce code dans ma page pour que cela fonctionne ..... – rajesh

+0

writecontent (page_request) remplacez cette ligne par page_request.onreadystatechange = writecontent; et copiez la fonction collée par moi dans votre code –

2

Utilisez jQuery et vous pouvez juste faire quelque chose comme

$.get('/songcake/index.php', function(data) { $("#eee").html(data); }); 
+0

Même si je vous suis d'accord, pensez-vous vraiment qu'un 20kb + bibliothèque est approprié uniquement pour un appel AJAX? :) –

+0

@lonut: Pourquoi simplement référencer jQuery à partir de Google CDN? De cette façon, le script aura presque toujours été mis en cache avant même d'arriver sur le site? –

+1

Quand c'est jQuery oui. –

Questions connexes