在一个页面中,使用了ajax来调用一个http服务器上的文件。
<html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } var okFunc = function(){ if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { $("#msg").html(xmlHttp.responseText); var json=strToJson(xmlHttp.responseText); } } } var startAjax = function(){ $("#msg").html("Loading..."); createXMLHttpRequest(); if( !xmlHttp){ return alert('create ajax Failed'); } xmlHttp.open("POST","http://localhost:8081/aa.txt",true); xmlHttp.onreadystatechange = okFunc; xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send(null); //xmlHttp.send(document); } $(document).ready(function(){ $("#go").click(startAjax); // $.post("Test",{'name':'Hello','age':22}); }); function strToJson(str){ var json = eval('(' + str + ')'); return json; } </script> </head> <body> <button id="go"> gogogo </button> <div id="msg"></div> <div id="baidu"></div> </body> </html>
代码如上。
这段代码,部署在服务器上,ajax就能正确返回。但是如果直接右键这个网页,用浏览器打开,那么ajax就不能正确返回。
【现在还不知道是什么原因】
原文链接:https://www.f2er.com/ajax/166802.html