【发布时间】:2023-03-26 09:08:01
【问题描述】:
我正在寻找一个动态请求 HTML 页面的 AJAX 函数。我已经找到了以下内容:
function ajaxinclude(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)
return page_request.responseText;
}
在 Firefox 和 Chrome 中运行良好,但在 IE 中失败:
page_request.open('GET', url, false)
有没有更好的可用功能,保证完全跨浏览器兼容?
编辑:感谢所有伟大的建议......最后,我决定不在这里重新发明轮子。我忘记提及的一件事是,我还需要定期更新它……尽管我已经弄清楚了,所以我认为这没有什么不同。但后来我在原型中发现了很棒的 Ajax.PeriodicUpdater() 方法,并大大改变了我的想法。我刚刚从 50 LOC 解决方案变成了大约 4 行 :)
【问题讨论】:
-
跨浏览器任何事情都很棘手。使用像 jQuery 这样的 Javascript 框架。它只有 30k 的占用空间,可以为您解决这个问题以及许多其他问题。
-
It only has a 30k footprintonly 拥有 30k 的足迹是荒谬的。
标签: javascript ajax