JavaScript获取HTML文件内容的两种实现方式

作者:白露

时间:2026-10-27

浏览:588

本文介绍在JavaScript中获取本地HTML文件内容的两种主流方法。首先演示基于jQuery的$.ajax同步请求实现,重点解析async参数对执行顺序的影响;随后提供原生XMLHttpRequest的完整代码,涵盖浏览器兼容性处理及响应状态监听。通过对比两种方案,帮助开发者根据项目依赖选择合适的数据加载策略。

文章目录

基于jQuery的同步请求实现

具体实现代码如下所示:

 
function readHTML(){
$.ajax({
async:false,
url : "aa.html“,
success : function(result){
alert(result);
} 
}); 
} 

async:false参数用于控制JavaScript代码的同步执行。若设置为true或不填该属性,浏览器将优先执行同级其他代码,导致此时result变量为空,只有当其他代码执行完毕后才会回调执行内部逻辑,从而获取到result的值。这种异步行为通常不符合预期需求。



上述说明可能较为抽象,建议通过实际测试来验证。关于此属性的详细示例可参考:http://www.cnblogs.com/wlmemail/archive/2010/06/22/1762765.html



注意:以上示例基于jQuery库实现。



原生XMLHttpRequest实现方案

若不使用jQuery,采用原生JavaScript实现代码如下:


具体代码实现如下:

 
var xmlhttp;
if (window.XMLHttpRequest) { // 兼容 IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} 
else { // 兼容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", "aa.html", true);
xmlhttp.send();

其中,myDiv指代页面中预先定义好的用于输出内容的div元素。



该解决方案来源于:http://stackoverflow.com/questions/8197709/javascript-read-html-from-url-into-string


相关参考资料:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章