1

親愛なる私は奇妙な問題を抱えています。

私のターゲットは次のとおりです。サイトabc.comは ajax ' POST/GET ' リクエストをサイトxyz.comに送信します

xyz.comはPHP 経由でCOOKIEを作成し、 それを出力します。

print $_COOKIE["rand_user_id"];

そのため、サイトabc.comは「 xhr.responseText 」を介して印刷されたテキストを読み取ります。

PS: ページが更新された場合でも、xhr.responseText は同じテキストを出力します。

問題 :すべての但し書きの説明は問題なく機能します

しかし、JavaScript は Content TEXT を出力できるようにしたいのです!

そしてxhr.statusは0 を返します !!!!

HTTPAnalyze を介して応答を盗聴すると、responseText の内容に TEXT が表示されます。HTTPAnalyze プログラムの応答コードは 200 です。

ご意見をお聞かせください


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

クライアント側

    <script>
window.onload = function(){
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://www.adriper.com/setcookie.php", true);
    xhr.onreadystatechange = function(){
        if ( xhr.readyState == 4 ) {
            if ( xhr.status == 200 ) {
                document.body.innerHTML = "Random code  is: " + xhr.responseText;
            } else {
                document.body.innerHTML = "ERROR Number :"+xhr.status;
            }
        }
    };

    xhr.withCredentials = true; 
    xhr.send(null);
};
</script>

サーバー側は次のとおりです。

PHP

<?
if(!isset($_COOKIE["rand_user_id"]))
{
   $val = md5(rand(111,999));   
   setcookie("rand_user_id", $val , time()+60*60*24*30, '/');
   print $_COOKIE["rand_user_id"];
}else{
    print $_COOKIE["rand_user_id"];
    }
?>

.htaccess

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type ,accept"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Header add Access-Control-Allow-Credentials: true

HTTP レスポンス

GET /setcookie.php HTTP/1.1
Host: www.adriper.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/mouse/Untitled-1.html?w
Origin: http://localhost
Cookie: rand_user_id=m3zwy_pomRVe1FovfsOXBLJvUyw_lnA6MWMjot1lSGtXB3MwGXJlR0d2afbxwBWe
Connection: keep-alive

オプション

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 22 Jan 2013 00:55:30 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.2.17
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: origin, x-requested-with, content-type ,accept
Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
Access-Control-Allow-Credentials: true
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 52
4

0 に答える 0