何日も Web を閲覧し、あらゆることを試した結果、ホスト サーバーに問題があることを知りました。ホストサーバーによって無効にされました。だから、私のコードを Stackoverflow に投稿することを考えました。そうすれば、SO の他の誰もが私のように時間を失うことはありません。
コード スニペットは、IE、Safari、Mozilla、Chrome で問題なく動作します。
何日も Web を閲覧し、あらゆることを試した結果、ホスト サーバーに問題があることを知りました。ホストサーバーによって無効にされました。だから、私のコードを Stackoverflow に投稿することを考えました。そうすれば、SO の他の誰もが私のように時間を失うことはありません。
コード スニペットは、IE、Safari、Mozilla、Chrome で問題なく動作します。
クライアント側の 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
これらのいずれかを実装する際に問題が発生した場合は、コメントしてください。私がここで述べたことのライブデモを見ることができます