我正在寻找一个动态请求
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',false)
是否有更好的可用功能,保证完全跨浏览器兼容?
编辑:感谢所有伟大的建议……最后,我决定不在这里重新发明轮子.而我忘记提到的一件事是,我还需要它间隔更新……虽然我已经弄清楚了所以我不认为它有所作为.但后来我在原型中找到了很棒的Ajax.PeriodicUpdater()方法并且大大改变了我的想法.我只是从一个50 LOC解决方案到大约4行:)
解决方法
我不得不同意,不要重新发明轮子,或者在这种情况下,AJAX.
JQuery和Prototype在让您不必处理跨浏览器支持以及大大简化Javascript类型编程方面做得非常出色.我首先陷入JQuery,所以我偏向于它,从我看到的库有点小(阅读:在浏览器中更快),但我认为Prototype已经存在更长时间并且有大量的插件和示例在那里. Ruby on Rails默认情况下也使用Prototype.有趣的是,两者中的代码看起来非常相似,并且几乎不需要重写来更改库.
JQuery Tutorials< - 直到AJAX部分