代码之家  ›  专栏  ›  技术社区  ›  Rakesh Juyal

为什么我无法在jQuery中加载特定的文本文件?

  •  0
  • Rakesh Juyal  · 技术社区  · 16 年前

    function go(){  
            //var myFile = "c:/BMCclient.log";  
            var myFile = "abc.html";
            $.get( myFile, function(data) {
            alert ( data );
                $('#_content').html(data);
                alert('Load was performed.');
                });
    
        }   
    

    什么时候? myFile = "abc.html"; myFile = "c:/BMCclient.log"; 然后抛出一个异常:

    uncaught exception: [Exception... "Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: file:///C:/PIC/batch/personal/web/js/jquery/jquery-1.4.2.js :: anonymous :: line 5113" data: no]
    

    4 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    6 年前

    这几乎可以肯定是由于 Same Origin Policy for file URLs (我的)。

    从gecko1.9开始,文件只允许读取某些其他文件。 但是,不能以这种方式加载目录。

    例如,如果您有一个文件foo.html文件访问另一个文件,条形图.html,只有在条形图.html与在同一目录中foo.html文件或包含在与foo.html文件.

        2
  •  1
  •   Kobi    16 年前

    Ajax不能很好地处理本地文件系统,如果您设置一个web服务器,并使用 http://localhost .

        3
  •  0
  •   RaYell    16 年前

    这是因为JavaScript无法访问计算机文件系统中的文件。如果这是可能的话,那么JS脚本可以窃取你的文件的数据,你甚至不知道,所以它的设计工作就是这样。

        4
  •  0
  •   miku    16 年前

    $.get 超文本传输协议 GET请求,它将与服务器(例如在本地主机上)通信。