我想通過使用帶有URL的xmlhttprequest來獲取html的源代碼。有沒有人可以幫助我呢?我是編程新手,我不太清楚如何在沒有jQuery的情況下做到這一點。提前致謝。使用JavaScript與網址獲取HTML代碼
回答
使用jQuery:
$.ajax({ url: 'your-url', success: function(data) { alert(data); } });
這個數據是你的HTML。
沒有jQuery的(只是JS):
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);
};
@Senad Meskin感謝您的回答,但是可以使用jQuery做到這一點?我想知道是否有其他方法可以做到這一點。 – simplified 2011-06-16 16:49:26
@Senad Meskin謝謝。但是,我試圖將這個函數寫在一個空的HTML文件中,該文件只是將上面的代碼放在腳本標記中。看起來readystate是1,並沒有通過。你知道爲什麼嗎?我已經更改爲網址了。但它仍然不起作用。 – simplified 2011-06-16 17:50:45
您的網址是否指向另一臺服務器,如果是這樣,則是安全問題。 – 2011-06-16 17:53:29
有關於如何阿賈克斯在這裏使用教程:http://www.w3schools.com/ajax/default.asp
這是該教程所採取的示例代碼:
<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>
對於外部(跨站點)解決方案,您可以使用:https://stackoverflow.com/a/18447625/2657601
它使用$.ajax()
函數,所以它包括谷歌jquery。
- 1. 使用Javascript獲取部分HTML代碼
- 2. 用javascript獲取網址
- 3. 從網址獲取http響應代碼
- 4. 使用Javascript獲取本地HTML文件的HTML代碼
- 5. 如何從外部網址獲取html源代碼
- 6. 如何從輸入網址獲取html源代碼?
- 7. jqvmap - JavaScript自定義代碼使用更改網址與onregionclick
- 8. Julia - 從網址獲取HTML
- 9. 使用JSONP從JavaScript網頁獲取源代碼使用JSONP
- 10. 如何從此網址獲取文件,使用java代碼?
- 11. 如何使用groovy代碼獲取網址中的數據?
- 12. 如何從網頁獲取html代碼?
- 13. jnetpcap獲取html網頁源代碼
- 14. 從C#網站獲取HTML代碼#
- 15. 如何從網頁獲取HTML代碼?
- 16. 從html文件獲取javascript代碼
- 17. 替代獲取iframe網址
- 18. 使用Codeigniter獲取網址
- 19. 獲取網頁源代碼,包括javascript
- 20. 獲取HTML源代碼與Python的Cookie
- 21. VBA從網頁獲取html網址
- 22. 如何使用vala(gtk)從網頁獲取html代碼?
- 23. Android獲取網址與onclick
- 24. 使用JavaScript獲取html源代碼包括樣式
- 25. 如何使用jQuery或JavaScript從html頁面獲取SVG代碼?
- 26. 如何從HTML代碼使用JavaScript獲取值?
- 27. 使用jquery/javascript從一行html代碼中獲取數字
- 28. 使用swift代碼編碼網址
- 29. 使用Java獲取網頁源代碼
- 30. 無法獲取使用javascript代碼
您可能需要查看相同原產地政策的問題......只需搜索一下就可以找到大量信息。 – 2011-06-16 16:44:36
但有沒有其他的方式去關於這件事?像不使用xmlhttprequest?用JavaScript? – simplified 2011-06-16 16:47:32
沒有。 xmlhttprequest和iframe是唯一的方法,並且都受同源策略的限制。如果你想解決這個問題,遠程服務器需要配合(通過作爲jsonp,或者在它所服務的數據上加上一個特殊的頭文件) – rob 2011-06-16 17:28:48