81530694 2011-09-27
Ajax代码同时支持InternetExplorer和非Microsoft游览器
/* Create a new XMLHttpRequest object to talk to the Web server */ var xmlHttp = false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } @end @*/ if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); }
现在先不管那些注释掉的奇怪符号,如@cc_on,这是特殊的JavaScript编译器命令,将在下一期针对XMLHttpRequest的文章中详细讨论。这段代码的核心分为三步:
1.建立一个变量xmlHttp来引用即将创建的XMLHttpRequest对象。
2.尝试在Microsoft浏览器中创建该对象:
◦尝试使用Msxml2.XMLHTTP对象创建它。
◦如果失败,再尝试Microsoft.XMLHTTP对象。
3.如果仍然没有建立xmlHttp,则以非Microsoft的方式创建该对象。
创建XMLHttpRequest对象实例
var xmlHttp = false; function createXmlHttpRequest() { if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(ee) { xmlHttp = false; } } } else if(window.XMLHttpRequest) { try { xmlHttp = new XMLHttpRequest(); } catch(e) { xmlHttp = false; } } }
$http是AngularJS 中的一个核心服务,用于读取远程服务器的数据。"Name" : "Galería del gastrónomo",<li ng-repeat="x in names&qu