-3

cookieを使用して、次のコードでjavascriptphpから変数を渡します。

<script type="text/javascript">
function gTest() {
               var country = 'hello testing';
    document.cookie = 'name=document.write(country);' ; 
         document.write(country);
}
gTest();
</script>


<?php  
echo "<br>";
     var_dump($_COOKIE['name']);  
?> 

に変更すると正常に動作します

    document.cookie = 'name=hello' ; 

同じページのphpに変数値を渡したい...別のページに送信したくない。

ありがとう

4

3 に答える 3

2

$_COOKIEブラウザからサーバーに送信されたデータが入力されます。

Cookieを変更するJSは、応答が返送されてJavaScriptが実行されるまで実行されません。

の値は$_COOKIE、新しいHTTPリクエストを作成するまで更新されません。

于 2012-11-21T14:37:54.560 に答える
0

XHR を使用できます。

JavaScript (jQuery を使用):

$.ajax('script.php', { 
    data: { 'name': 'hello' }
});

PHP:

 var_dump($_GET['name']);
于 2012-11-21T14:40:35.857 に答える
0

できません。

わかりました、私は説明しなければならないと思います。ページには、最初に Javascript があり、次に PHP コードがありますが、その順序で実行されません。最初にサーバーが PHP コードを実行し、ページを HTML として送信すると、JavaScript がクライアント側で実行されます。

ページ全体をリロードしたくない場合、それを行う唯一の方法は、PHP コードがあるページへの ajax リクエストを使用することです。JQuery を使用して、PHP コードを次のように置き換えます。

$('#result').load('showCookie.php');

showCookie.php のコンテンツは var_dump になり、JQuery を使用して追加のページを呼び出した場合を除いて、ページは目的どおりに動作します。

于 2012-11-21T14:50:13.093 に答える