在一个页面中,使用了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就不能正确返回。
【现在还不知道是什么原因】