2011-06-16 5 views
12

Bir url ile bir xmlhttprequest kullanarak html kaynak kodunu almaya çalışıyorum. Bu konuda bana yardımcı olabilecek biri var mı? Ben programlama için yeni ve jQuery olmadan nasıl yapabilirim emin değilim. Şimdiden teşekkürler.url ile javascript kullanarak html kodu olsun

+1

Aynı orijin ilkesi sorununu incelemek isteyebilirsiniz ... Sadece SO üzerinde arama yapın ve çok fazla bilgi bulacaksınız. –

+0

ama bu şey hakkında başka bir yol var mı? xmlhttprequest kullanmamak gibi mi? sadece javascript ile? – simplified

+1

no. xmlhttprequest ve iframe'ler tek yoldur ve her ikisi de aynı menşe ilkesiyle sınırlıdır. Bunu aşmak isterseniz, uzak sunucu (jsonp olarak hizmet vererek veya hizmet ettiği verilere özel bir başlık koyarak) işbirliği yapmalıdır. – rob

cevap

15

Kullanım jQuery:

$.ajax({ url: 'your-url', success: function(data) { alert(data); } }); 

Bu veriler HTML.

jQuery (sadece JS) olmadan

:

ajax burada nasıl kullanılacağına dair öğretici var
function makeHttpObject() { 
    try {return new XMLHttpRequest();} 
    catch (error) {} 
    try {return new ActiveXObject("Msxml2.XMLHTTP");} 
    catch (error) {} 
    try {return new ActiveXObject("Microsoft.XMLHTTP");} 
    catch (error) {} 

    throw new Error("Could not create HTTP request object."); 
} 
var request = makeHttpObject(); 
request.open("GET", "your_url", true); 
request.send(null); 
request.onreadystatechange = function() { 
    if (request.readyState == 4) 
    alert(request.responseText); 
}; 
+0

@Senad Meskin cevabınız için teşekkürler, ancak jQuery ile bunu yapmak mümkün mü? Bunu yapmak için başka yöntemler var mı diye merak ediyordum. – simplified

+0

@Senad Meskin teşekkürler. Bununla birlikte, bu işlevi kod dosyasını yalnızca kod etiketine yerleştiren boş bir html dosyasında yazmaya çalışıyordum. readystate 1 olduğu anlaşıldı ve geçmedi. neden biliyor musun? Şimdiye kadar url olarak değiştirdim. ama hala çalışmıyor. – simplified

+0

URL'niz başka bir sunucuya işaret ediyor mu? Bu nedenle, güvenlik sorunu. –

2

:

<html> 
<head> 
<script type="text/javascript"> 
function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","ajax_info.txt",true); 
xmlhttp.send(); 
} 
</script> 
</head> 
<body> 

<div id="myDiv"><h2>Let AJAX change this text</h2></div> 
<button type="button" onclick="loadXMLDoc()">Change Content</button> 

</body> 
</html>