扫码关注官方订阅号
不考虑兼容 性问题先 我是ie10的 点去获取不到内容
ringa_lee
因兼容性,onreadystatechange事件最好在调用send方法之前绑定
ajax请求不支持file://这种文件协议,你需要在本地用nodejs或者gulp之类的工具启一个服务运行,或者将1.txt放在某个服务器上,或者用firefox,因为firefox内置了个本地服务(应该).
你可能也没有搭服务器吧,html是直接打开的吧,所以没有服务器就可能没有办法请求到1.txt吧。
你这个1.txt的文件是放在服务器上的吗?路径会不会有问题?你打印一下 xhr.status 看看
1.txt
xhr.status
没测试过这种,猜测可能是文件内数据是二进制类型。
你可以尝试在xhr.open的下面添加一行xhr.responseType=“blob”; //设置成二进制类型
然后在if....readyState=4的里面改写成如下:var blob=this.response;
console.log(blob); //返回一个包含二进制数据的blob对象
你若是要对象中包含的数据:
var fr=new FileReader(); //这是预定义的读取二进制文件的对象
fr.readAsText(blob); fr.onload=function(){ console.log(fr.result); }
若是要读取这个对象:
为毛不用jquery这么好的东西
这么古老的写法啊
IE10支持new XmlRequest这种写法吗
...建议用jquery...简单又省事,当然最好要理解原理。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
因兼容性,onreadystatechange事件最好在调用send方法之前绑定
ajax请求不支持file://这种文件协议,你需要在本地用nodejs或者gulp之类的工具启一个服务运行,或者将1.txt放在某个服务器上,或者用firefox,因为firefox内置了个本地服务(应该).
你可能也没有搭服务器吧,html是直接打开的吧,所以没有服务器就可能没有办法请求到1.txt吧。
你这个
1.txt
的文件是放在服务器上的吗?路径会不会有问题?你打印一下xhr.status
看看没测试过这种,猜测可能是文件内数据是二进制类型。
你可以尝试在
xhr.open的下面添加一行
xhr.responseType=“blob”; //设置成二进制类型
然后在if....readyState=4的里面改写成如下:
var blob=this.response;
console.log(blob); //返回一个包含二进制数据的blob对象
你若是要对象中包含的数据:
var fr=new FileReader(); //这是预定义的读取二进制文件的对象
若是要读取这个对象:
为毛不用jquery这么好的东西
这么古老的写法啊
IE10支持new XmlRequest这种写法吗
...建议用jquery...简单又省事,当然最好要理解原理。