PHP プロキシ経由でサイトに接続しようとしています (これ: https://raw.github.com/cowboy/php-simple-proxy/master/ba-simple-proxy.php )。これは JavaScript です。応答で何かを行う関数:
編集:コードは次のようになります。まだ葉巻はありません。
function exista(word) {
alert(word);
var proxy = 'ba-simple-proxy.php?url=';
var uri = "http://api.wordreference.com/0.8/ff175/json/roen/" + word;
uri = encodeURIComponent(uri);
alert(proxy + uri);
var cuvantulexista = 1;
jQuery.ajax({
"async": false,
"url": proxy + uri,
"dataType": 'json',
"method": "GET",
"success": function (data) {
alert("HERE!");
if (data.Error || data.Response)
cuvantulexista = 0;
}
});
return cuvantulexista;
}
php ファイルは、上記の関数を含む js ファイルと同じフォルダーと、html ファイルを含む public フォルダーにあります。
問題は、何の反応も得られず、その理由が本当にわからないことです。
また、次のように html に php を含めました。
<?php
include("js/ba-simple-proxy.php");
?>
私の極度の初心者で申し訳ありませんが、PHPとクロスドメイン通信を扱うのは初めてです。ありがとうございました。:)
編集:それが役立つ場合、ページはドメインでホストされていません。
Edit2: それで、 --disable-web-security なしで Google Chrome を開いたところ、このエラーが再び発生しました:
XMLHttpRequest cannot load file:///home/bogdan/Scrabble-Online/public/ba-simple-proxy.php?url=http%3A%2F%2Fapi.wordreference.com%2F0.8%2Fff175%2Fjson%2Froen%2FRHE. Origin null is not allowed by Access-Control-Allow-Origin.
それでも、localhost で起動すると、メッセージは表示されません。繋がらないだけです。私は今、ひどく混乱しています。