0

xampp を使用して Apache をセットアップし、Web ページをテストして .php ファイルをロードし、データ ソースとして .csv ファイルを読み取って棒グラフ チャートを出力します。そして、Chromeでこのエラーが発生しました。

安全でない JavaScript が、URL file:///C:/xampp/htdocs/search/stackedBarChart.html のフレームから URL file:///C:/xampp/htdocs/search/php/loader/csvFileUploader.php のフレームにアクセスしようとしています。 . ドメイン、プロトコル、およびポートが一致する必要があります。upclick-min.js:99 i.onload_callback.i.onload_callback upclick-min.js:99 onload

他の多くの投稿が示唆しているように、これは iframe の問題ではないと思います。これもfirefoxでテストしましたが、phpの読み取りを超えましたが、ローカルディレクトリから.csvファイルをロードしません。

助言がありますか?

<script>
        var uploaderCSV = document.getElementById('uploaderCSV');
            upclick({
                element : uploaderCSV,
                action : 'php/loader/csvFileUploader.php',
                onstart : function(filename) {
                    console.log(" -- Start upload: <" + filename + "> Here");

                },
                oncomplete : function(response_data) {
                    alert(response_data);
                    console.log("  -- CSV file to load: ", response_data);
                    var n = response_data.split("|");

                    if (n.length > 1) {
                        console.log("  >> csv file loaded at[ ", n[1], " ]");
                        loadDayLightFactor("php/loadCSV.php", "../" + n[1]);
                    }
                }
        });


</script>

そしてこれがphpファイルです

<?php
// using upload at click from http://code.google.com/p/upload-at-click/
// FileData is the name for the input file

$file_result = "";
$file = $_FILES['Filedata'];

$allowedExtensions = array("csv", "txt");
$extension = end(explode(".", $file["name"]));

echo "123".$file;

?>

4

1 に答える 1

0

問題は、アクセスしようとしている URL にあるようです。

file:///C:/xampp/htdocs/search

これは、ローカル環境で開発する方法ではありません。からアクセスしてみてください

http://localhost/search

きっとうまくいくと思います。以下の詳細な説明..


これは、Cross-Domain-Policyと呼ばれるセキュリティ標準が原因で発生しています。

現在の URL アドレスとは異なる URL を持つファイルを (JavaScript 経由で) 呼び出すことはできません。

例: 私の Web サイトの URL はfoobar.comで、AJAX リクエストをbarbaz.comに送信しようとしています。

私はできません!

それは私のドメインではないからです。barbaz.foobar.comにリクエストを送信してみることができます(JavaScript コードを使用)。

これが「必須」のセキュリティ標準である理由を示す別のシナリオ:

Cookie を使用して銀行の Web サイトにログインしているとします。Cookie は永続的です。

既知のすべての銀行の Web サイトに AJAX 要求を送信するランダムな Web サイトXに入ります。私がまだ銀行の Web サイトにログインしている場合、X Web サイトは私のユーザーを使用して銀行の Web サイトと「会話」し、私が気付いていないことを行うことができます。

これは、これが非常に重要である理由の小さな例です。

これがお役に立てば幸いです。

于 2012-08-02T21:29:32.123 に答える