2016-06-30 3 views
0

R-Studio ServerでShiny Appをホストしています。 Shinyによって作成されたAppは、ブラウザアプリケーションです。つまり、JavaScriptはクライアントサイトから実行されます。私のアプリケーションでは、ローカルホスト/ウェブサーバーに保存されたユーザーインタラクションを通していくつかを作成します。 JavaScriptでこれらのファイルにアクセスし、そこで処理したいと思っています。トラブルが始まるところ...Cross-Origin-Ressource共有の許可R-Studio Server/Shiny

これはcross-origin-ressource-sharingです。これはセキュリティ上の理由から禁止されていますので、Cross-Origin XMLHttpRequestは作成できません。 JavaScriptのファイルにどうやってアクセスするのですか?私が得るファイルに相対/絶対パスを渡すとき

私はpath/to/file.jsonのようなリンクを渡します。コンソールにチェックインすると、javacriptはlocalhost:numbererOfPort/path/to/fileのように変わります。私がそれをブラウザに入力すると何もありません。ファイルがpath/to/fileの下にある私のファイルシステムでは、localhost...

せずにリソースの読み込みに失敗しました:サーバーは、404の状態(見つかりません)でhttp://localhost...jsonを答えました。

私が見JONSPを持っていたが、私はディスク上に保存されてAPIのではなく、ファイル、上にドッキングしておりませんので、私が探しています厥とは思いません。 また、CORSのオン/オフを切り替える拡張機能をインストールして、Chromeのセキュリティ設定を緩めようとしました。 まだこのメッセージが表示されています:

XMLHttpRequestはxyをロードできません。 Cross originリクエストは、http、data、chrome、chrome-extension、https、chrome-extension-resourceのプロトコルスキームでのみサポートされています。

+0

CORSに問題がない404を送信した場合。正しいヘッダー、特にAccess-Control-Allow-Originを設定することで、CORS自体を有効にすることができます。 –

+0

@SargoDarya '404'が出てくるかもしれない情報をいくつか追加しました。 – Stophface

+0

「これらのファイルをjavascriptでアクセスして処理する」とはどういう意味ですか? –

答えて

1

スタイリッシュなファイル(画像、CSS、およびJavaScriptファイルなど)は、アプリケーションフォルダのサブフォルダwwwに置く必要があります。これらのファイルは、相対パス(ただし、www部分なし)を使用するか、またはhttp://host_name:port/app_directory/file.name(やはりwwwなし)を使用するWebブラウザで、Shinyコードでアクセスできます。

関連する問題