1. ホーム
  2. javascript

[解決済み] Access-Control-Allow-OriginでOriginのNULLが許可されていない。

2022-03-03 09:28:37

質問

私は以下のようなコードでweather.xslというhtml出力を作成するための小さなxsltファイルを作りました。

<!-- DWXMLSource="http://weather.yahooapis.com/forecastrss?w=38325&u=c" -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="yweather"
xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/">
    <img src="{/*/*/item/yweather:condition/@text}.jpg"/>
</xsl:template>
</xsl:stylesheet>

htmlの出力をhtmlファイルのdivに取り込みたいのですが、以下のようにjQueryを使って行おうとしています。

<div id="result">
<script type="text/javascript">
$('#result').load('weather.xsl');
</script>
</div>

しかし、次のようなエラーが発生します。 Origin null は Access-Control-Allow-Origin で許可されていません。

xsltにヘッダーを追加するという記事を読みましたが、その方法がよくわかりませんので、何か助言をお願いします。また、html ouputでの読み込みがこの方法でできないのであれば、他の方法についてアドバイスをいただければ幸いです。

どのように解決するのですか?

原点 null がローカルのファイルシステムであることを示唆しています。 load の呼び出しは file:/// のURL(例:ローカルのファイルブラウザなどでダブルクリックするだけ)を指定します。

ほとんどのブラウザは 同一生成元ポリシー は、ドキュメントと同じディレクトリにあるファイルを読み込むことさえも禁止することで、ローカルファイルへのアクセスを可能にします。(以前は、Firefox は同じディレクトリとサブディレクトリを許可していましたが はもうない。 .

基本的にローカルリソースでajaxを使ってもうまくいきません。

ローカルでテストしているものを本当にウェブに配備するのであれば、ローカルファイルを使うよりも、簡単なウェブサーバをインストールして、その上で http:// URLを使用します。そうすることで、より正確なセキュリティ状況を把握することができます。IDE に何らかのサーバーが組み込まれていて、IDE で "run" を押すだけで、サーバーが起動し、ファイルを提供することができるかもしれません。