我正在尝试像这样运行xhrGet:
dojo.provide("test");
dojo.declare("test",null,{
getVersion: function(){
details =
{
url: "../version.txt",
content: "test",
handleAs: "text",
timeout: 4000,
load: function(data)
{
console.log("result" + data);
},
error: function(error)
{
console.log("Error" + error);
}
}
var dfd = dojo.xhrGet(details);
return dfd;
});
我收到此错误:
错误:延迟取消:[例外...“组件返回失败代码:0x80520012(NS_ERROR_FILE_NOT_FOUND)[nsIXMLHttpRequest.send]”nsresult:“0x80520012(NS_ERROR_FILE_NOT_FOUND)”location:“JS frame :: file:/// C :/Dojo1.4.3/dojo/_base/_loader/bootstrap.js :: anonymous :: line 1351“data:no] 文件:/// C:/Dojo1.4.3/dojo/_base/_loader/bootstrap.js 第0行
我试图检索的文件是相对于dojo的,因此位于Dojo1.4.3 / version.txt
下其他注意事项....我没有在服务器上运行它,我只是加载html文件并引用我创建的dojo类。
谢谢大家的时间
修改
解
我找到了解决方案
https://developer.mozilla.org/en/Same-origin_policy_for_file%3a_URIs
您需要在Firefox中启用此政策
答案 0 :(得分:4)
如果您的网页是通过file://
直接投放的,出于安全原因或类似情况,您无法执行AJAX请求。您需要设置HTTP服务器并通过它来提供您的页面。
此外,您在这里使用旧版本的Dojo有什么特别的原因吗?目前的版本是1.7