2

データベースから値を返すためにPHPスクリプトを呼び出す単純なjQuerypost関数があります。

Firebugでは、PHPファイルが200 OKステータスで呼び出されているのがわかりますが、JSのsuccess関数は呼び出されていません。

問題をテストするために、単純な文字列のみをエコーするようにPHPを変更しましたが、同様に機能しません。

PHPファイルをブラウザで直接表示すると、エコーされた文字列が表示されます。

JSコードは次のとおりです。

$.post(PATH + "load.php", { id: _id },
    function (data) {
        console.log("LOADED " + data);
});

そして、ここに簡単なPHPコードがあります:

<?
echo "bla bla bla"
?>

何が問題なのかわかりません。私のHTML+JSファイルはローカルであり、オンラインPHPファイルを呼び出します。多分これが理由ですか?どんな助けでもありがたいです。

4

1 に答える 1

4

私のHTML+JSファイルはローカルであり、オンラインPHPファイルを呼び出します。多分これが理由ですか?

回答:はい
理由:同一生成元ポリシールール

http://en.wikipedia.org/wiki/Same_origin_policy

Grant Thomasは、考えられる回避策を提案しました。外部リソースを呼び出す同一生成元サーバー上のメソッドに呼び出しを委任できます。

于 2013-01-16T12:54:27.047 に答える