1

私は 2 つの別々のページを持っています。1 つのページはファイルをアップロードする場所で、もう 1 つのページは情報を表示する場所です。

imageupload.php ページには、以下のセッションがあります。

$_SESSION['fileImage']['name'] = $_FILES['fileImage']['name'];

また、javascript 関数にコールバックする javascript 関数もあります。

<script language="javascript" type="text/javascript">window.top.stopImageUpload();</script> 

別のページ (QandATable.php) に javascript 関数がありますが、私の質問は、上記の $_SESSION コードを JavaScript 関数で呼び出して、$('.list') に追加できるようにする方法です。

以下はJavaScript関数です:

 function stopImageUpload(success){

var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').append('<br/>');
          }
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
          }

return true;

    }
4

4 に答える 4

2

$_SESSION はサーバー側の変数ですが、アクセスできるため、できません。

セッション変数全体

<script type="text/javascript" >
  var session = <?php echo json_encode($_SESSION); ?>;
</script>

セッション内の特定の変数。

<script type="text/javascript" >
  var session_var = <?php echo json_encode($_SESSION['VAR_NAME']); ?>;
</script>

これで、その情報を含む session という js 変数ができました。ただし、ほとんどの場合、そのすべての情報を公開ページに出力することはお勧めできません。

于 2012-04-20T21:57:37.647 に答える
2

セッション変数はサーバーに保存されます。JavaScript はクライアント側で実行されるため、サーバー側については何も知りません。それは、あなたが渡した分だけ知っています。

変数を JavaScript に渡すには、ajax リクエストを使用するか、単に値を出力します。

<script>
var sesionValue = <?=json_encode($_SESSION['value']);?>;
</script>
于 2012-04-20T21:57:57.663 に答える
1

これらのAJAXのようなタスクがはるかに簡単になるため、JQueryの使用を検討する必要があります。

あなたが求めているのと同じようなことをするために、私が今日書いた私の関数を見てください。

successこれにより、PHP出力が取得されます(の呼び出しの一部で返されajax()ます。取得する形式はJSONであり、PHPとJavaScriptの両方と互換性があります(JSON:JavaScript Object Notation)。

function viewClientDetails(id) {
    var clientParams;
    clientParams.clientID = id;
    $.ajax({
        url: BASE_URL + '/clients/get-client-details.php',
        type: 'POST',
        data: clientParams,
        dataType: 'JSON',
        success: function(myClient) {
            var name = myClient.name;

            $('td#name').html(name);

        },
        error: function(e) {
            console.log(e.responseText);
        }
    })
}

私のPHPファイル(と呼ばれる/clients/get-client-details.php)には、次のようなものがあります。

<?php
...
$myClient = array('name' => 'Mr Foobar');
print json_encode($myClient);

?>

これは、PHPオブジェクトをJSON形式で書き込むだけです。

上記のJSコードでは、コードはJSONデータの一部をCSSセレクターIDがであるHTMLテーブルデータ要素#nameに次の行で挿入します。$('td#name').html(name);

これがあなたをもっと混乱させるならば、お詫びします、私はあなたがいつか試すことができるものの例を示すと思いました。

これは途中で少し役立つかもしれません...物事を試してみてください、あなたはそこに着くでしょう:)

于 2012-04-20T22:07:40.943 に答える
0

できません。$_SESSIONは PHP 変数であり、そのコードはサーバー側で実行されます。

PHP ファイルからの出力に値を Javascript 変数として保存し、Javascript でその変数にアクセスする必要があります。

于 2012-04-20T21:57:51.033 に答える