WebサーバとローカルのAjaxの挙動の違い
ローカルではIEでXMLを正常に取得する事が出来ない(かもしれない)。
でも、Webサーバにアップすると正常に動作する可能性がある。
FireFox,ChromeではWebサーバ,ローカル共に動くみたい。
参考 http://watcher.moe-nifty.com/memo/2007/03/ie7_xmlhttprequ_018f.html
test.html
<html lang="ja"> <head> <meta http-equiv=Content-Type content="text/html; charset=utf-8"> <title>AjaxTest</title> </head> <body> <script type="text/javascript" src="./xmlhttp.js"></script> <script type="text/javascript"> if (xmlhttp) { document.write('<p class="example"><a href="#" onclick="example1();return false;">Try the example.</a></p>') } </script> </body></html>
xmlhttp.js
var xmlhttp /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp=false; } } @else xmlhttp=false @end @*/ if (!xmlhttp && typeof XMLHttpRequest!='undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } } if (!xmlhttp && window.createRequest) { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } } function example1() { var url='./test.xml'; xmlhttp.open("GET", url, true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { var xmlDoc = xmlhttp.responseXML; var z = xmlDoc.getElementsByTagName('result')[0].firstChild.nodeValue; alert(z); } } xmlhttp.send(null) }
test.xml
<?xml version="1.0" standalone="yes" ?> <string> <result>helloworld</result> </string>