JavaScript的一个问题:XMLHttpRequest可以加载本地数据么,怎么加载?还是只能加载网络文件数据?
functionloadModel(){varrequest=newXMLHttpRequest();request.open("GET","CeilingLight_s...
function loadModel(){
var request = new XMLHttpRequest();
request.open("GET","CeilingLight_single.json");
request.onreadystatechange = function(){
if(request.readyState == 4){
handleLoadedModel(JSON.parse(request.responseText));
}
}
request.send();
}
其中的CeilingLight_single.json是位于桌面的工作目录的模型文件
调试的时候出现如下错误:Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101 展开
var request = new XMLHttpRequest();
request.open("GET","CeilingLight_single.json");
request.onreadystatechange = function(){
if(request.readyState == 4){
handleLoadedModel(JSON.parse(request.responseText));
}
}
request.send();
}
其中的CeilingLight_single.json是位于桌面的工作目录的模型文件
调试的时候出现如下错误:Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101 展开
4个回答
展开全部
永远不可能是本地工作目录文件,必须让服务器给予权限才行,比如在本地搭建Apache服务器,就算是 localhost/xxx/xxx 都行,因为服务器已经给远程访问配置了权限。。。
如果能够调用本地文件的话,那么目前所有浏览器的 JS 不都可以轻轻松松扫描你的硬盘了?
这是浏览器的权限限制,就算是Flash需要调用本地文件的时候,也需要经过用户的允许,你可以去查阅各种脚本语言的本地数据权限,目前Flash和HTML5都有一部分权限,但仅限于浏览器的安全沙箱内操作~
如果能够调用本地文件的话,那么目前所有浏览器的 JS 不都可以轻轻松松扫描你的硬盘了?
这是浏览器的权限限制,就算是Flash需要调用本地文件的时候,也需要经过用户的允许,你可以去查阅各种脚本语言的本地数据权限,目前Flash和HTML5都有一部分权限,但仅限于浏览器的安全沙箱内操作~
展开全部
可以加载本地数据。 只要路径对就行。
你的错误是你没有搞清楚 对象的作用域。 在onreadystatechange回调方法中, 访问不到request对象吧。 你的代码中,request对象是loadModel的成员。 其作用域只在这个方法中有效。在onreadystatechange中 访问不到的。
可以把这个方法作为一个全局变量来定义。
你的错误是你没有搞清楚 对象的作用域。 在onreadystatechange回调方法中, 访问不到request对象吧。 你的代码中,request对象是loadModel的成员。 其作用域只在这个方法中有效。在onreadystatechange中 访问不到的。
可以把这个方法作为一个全局变量来定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这条指令:
var request = new XMLHttpRequest();
request:一般作为全局变量
不放在 function 内声明
var request = new XMLHttpRequest();
request:一般作为全局变量
不放在 function 内声明
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本地装个服务器 iis 、Apache等 通过服务器地址就可以访问了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询