簡體   English   中英

cors 策略阻止的本地 xml

[英]Local xml blocked by cors policy

我正在嘗試使用 JQuery 讀取 XML 文件...或者至少,我正在嘗試訪問它。 我有一個這樣制作的文件系統:

-> Main directory
    -> html
        -> home.html
    -> js
        -> jquery.js
        -> XMLReader.js (made it myself)
    -> XML
        -> test.xml

XMLReader.js 是這樣制作的:

'use strict'
$(document).ready(function()
{
    $.ajax( 
    {
        type: "GET",
        url: "../xml/test.xml",
        //async: false,
        dataType: "xml",
        success: function(xml)
        {
            console.log("ayy");
        }
    });
});

當我嘗試訪問位於 xml 文件夾中的 XML 文件時,我的請求一直被 CORS 策略阻止(當我嘗試訪問本地文件時!)。 另一方面,如果我將所有文件放在同一個目錄中(當然還要更改鏈接),它就可以工作。

基本上,CORS 政策阻止我組織我的本地 Web 應用程序。

有沒有辦法解決這個問題? CORS 策略不應該阻止我嘗試讀取本地文件,對嗎?

不同的瀏覽器以不同的方式對從文件系統加載的文件實施同源策略限制。

一些:

  • 阻止訪問所有本地文件
  • 阻止訪問除同一目錄或 HTML 文件子目錄中的所有本地文件之外的所有本地文件

CORS 策略不應該阻止我嘗試讀取本地文件。

是的,應該。 這是一項重要的安全功能。

您不希望有人將 HTML 文件作為電子郵件的附件發送給您,雙擊它打開它,然后嵌入其中的 JavaScript 從您的硬盤讀取文件並將它們發送給發送電子郵件的人。

有沒有辦法解決這個問題?

如果要訪問本地文件,則可以:

  • 使您的本地文件可通過 HTTP 訪問。 如果您不想允許來自其他計算機的訪問,您可以運行僅在環回網絡接口上偵聽的 HTTP 服務器。
  • 使用瀏覽器實現我描述的兩個安全策略中較弱的一個,並按照您已經發現的方式重新排列文件系統

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM