配置的WampServer,在本里读取数据,但是Chrome默认不支持本地的AJAX请求,给Chrome浏览器添加启动参数成功,但是结果还是send()出错,亲测FF没有问题,IE和Chrome都是同样的跨越出错,配图在线等!!救命。
别用file协议.用http协议.
file协议下的任何问题解决不解决都没意义.因为用户不用用这个来访问你的线上项目
我是在本地wamp下的www文件里,用HTML网页读取的aaa.txt,我是初学者,怎么改成http?谢谢。
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
你在send前面加句这个试试,或者就是txt文本的原因
你好,刚刚试了一下,按照你说的我加上了,可还是13行send()出错。文本文件我也检查了,编码也没问题。这次我用的是json,下午的时候直接在文本中写了一串文字,可以从本机读出来(也只有FF下好使,IE,chrome都不行),换做JSON不行了,可以帮我看看代码有问题吗,我觉得也没问题啊。检查好几遍。
/*这是HTML源码,读取wamp下WWW中的三个page1.2.3.txt文件*/
/*<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src='ajax.js'></script>
<script>
window.onload = function()
{
var oUl=document.getElementById('ul1');
var aBtn=document.getElementsByTagName('a');
for(var i=0;i<aBtn.length;i++)
{
aBtn[i].index=i;
aBtn[i].onclick=function()
{
ajax('page'+(this.index+1)+'.txt',function(str)
{
var aData=evel(str);
oUl.innerHTML='';
for(var i=0;i<aData.length;i++)
{
var oLi=document.creatElement('li');
oLi.innerHTML=aData[i].user+aData[i].pass;
oUl.appendChild(oLi);
}
});
};
}
};
</script>
</head>
<body>
<ul id='ul1'></ul>
<a href="JavaScript:;">1</a>
<a href="JavaScript:;">2</a>
<a href="JavaScript:;">3</a>
</body>
</html>
*/
/*这是AJAX文件*/
function ajax (url, fnSucc, fnFaild)
{
//1.创建AJAX对象
var xhr = null;
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest ();
}
else
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//2.连接服务器
xhr.open('GET',url,true);
//3.发送请求
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
xhr.send();
//4.接受返回
xhr.onreadystatechange = function()
{
if(xhr.readyState==4)
{
//if((xhr.status>=200&&xhr.status<300)||xhr.status==304){
if(xhr.status==200)
{
fnSucc(xhr.responseText);
}
else
{
if(fnFaild)
{
fnFaild();
}
}
}
};
}
多谢你了,我在网上找到一份外文文献,说的可能是跨站攻击错误消息,内容涉及知识已经超出我的能力范围。还是谢谢你。