0

何日も Web を閲覧し、あらゆることを試した結果、ホスト サーバーに問題があることを知りました。ホストサーバーによって無効にされました。だから、私のコードを Stackoverflow に投稿することを考えました。そうすれば、SO の他の誰もが私のように時間を失うことはありません。

コード スニペットは、IE、Safari、Mozilla、Chrome で問題なく動作します。

4

1 に答える 1

1

クライアント側の Javascript コード

<script type='text/javascript'>

// function for making an object for making AJAX request

function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}

var http899 = getXMLHTTPRequest();
function searchFabIndia() {

var myurl = "http://my2nddomain.com/yebhi.php";
myRand = parseInt(Math.random()*999999999999999);
var modurl = myurl+"?rand="+myRand;
http899.open("GET", modurl, true);
http899.onreadystatechange = useHttpResponse899;
http899.send(null);
}

function useHttpResponse899() {
if (http899.readyState == 4) {
if(http899.status == 200) {
 // do all processings with the obtained values / response here
}
}
}

</script>

<body onload='searchFabIndia();'>

サーバー側で必要なコードの一部。ページのコンテンツを要求し、メソッドとヘッダーを許可できるオリジン (リファラー) を設定する必要があります。これらの設定は、リクエストを行っている 2 番目のドメインのすべてのファイルをまとめて .htaccess ファイルに保存するか、次のように特定の PHP ファイルに配置することができます。

    <?php
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
        header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");
        header("Access-Control-Max-Age: 18000");
// Put it in your PHP file
    ?>

または、次のように .htaccess ファイルで同じことを言及することにより、ドメイン/サブドメイン全体に対してこれらの設定を一緒に指定できます。

<IfModule mod_headers.c>
   <FilesMatch "\.(php)$">
    Header set Access-Control-Allow-Origin: *
    Header set Access-Control-Allow-Methods : POST,GET,OPTIONS,PUT,DELETE
</FilesMatch>
  </IfModule>

また、すべてのリファラーへのワイルドカードの許可が不要な場合もあるため、その場合は、特定のドメイン/サブドメインに名前を付けて指定し、それぞれをカンマ (,) で区切って指定できます。

Header set Access-Control-Allow-Origin: http://abc.com,http://def.com,http://ghi.com 

これらのいずれかを実装する際に問題が発生した場合は、コメントしてください。私がここで述べたことのライブデモを見ることができます

于 2012-08-15T05:00:31.560 に答える