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
cevap
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 varfunction 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);
};
@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
@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
URL'niz başka bir sunucuya işaret ediyor mu? Bu nedenle, güvenlik sorunu. –
:
<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>
Bu da öğretici alınan bir örnek koddur
Harici (siteler arası) çözüm için şunları kullanabilirsiniz: https://stackoverflow.com/a/18447625/2657601
$.ajax()
işlevini kullanır, dolayısıyla google jquery içerir.
Aynı orijin ilkesi sorununu incelemek isteyebilirsiniz ... Sadece SO üzerinde arama yapın ve çok fazla bilgi bulacaksınız. –
ama bu şey hakkında başka bir yol var mı? xmlhttprequest kullanmamak gibi mi? sadece javascript ile? – simplified
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