Dojo 使用 dojo.xhrGet 从本地文件系统读取 json 文件

发布于 2024-08-28 01:12:13 字数 541 浏览 4 评论 0原文

我正在尝试从本地文件系统读取文件。我没有可用的服务器,因此我尝试这样做。这是我到目前为止得到的;

function init(){
    netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserWrite');
    dojo.xhrGet( 
    { 
        url: "/json/coursedata.json",
        handleAs:"json",
        load: function (type, data, evt) {alert (data) }, 
        //mimetype: "text/plain" 
    });
}

我从 firebug 控制台收到此错误;

Access to restricted URI denied"  code: "1012
http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js
Line 16

I'm trying to read a file from a local filesystem. I do not have a server at my disposal and thus i'm trying to do it this way. Here is what I got so far;

function init(){
    netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserWrite');
    dojo.xhrGet( 
    { 
        url: "/json/coursedata.json",
        handleAs:"json",
        load: function (type, data, evt) {alert (data) }, 
        //mimetype: "text/plain" 
    });
}

I'm getting this error from the firebug console;

Access to restricted URI denied"  code: "1012
http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js
Line 16

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终弃我 2024-09-04 01:12:13

解决方案很简单。幸运的是,访问本地文件系统上的文件不会被视为跨域请求。因此,如果通过单击按钮等来调用 getCourse(course) ,则 dojo.xhrGet 会检索名为 json 的文件夹中的文件 course。对象数据是对象格式的json文件的内容。

function getCourse(course)
{
    dojo.xhrGet({
        url: "json/" + course,
        handleAs: "json",
        handle: function(data,args){
            populate_table(data);
        }
    });
}

The solution was simple. Luckily accessing a file on your local file system, is not seen as a cross-domain request. So if the getCourse(course) is called by clicking on a button etc. The dojo.xhrGet retrieves the file course in the folder named json. The object data is the contents of the json file in the object format.

function getCourse(course)
{
    dojo.xhrGet({
        url: "json/" + course,
        handleAs: "json",
        handle: function(data,args){
            populate_table(data);
        }
    });
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文