1

私はこのjquery関数を持っています

function updateStatus(){
      $.getJSON("<?php echo $_SESSION['filnavn']; ?>", function(data){

                           var items = [];

                           pbvalue = 0;

                           if(data){

                                var total = data['total'];
                                var current = data['current'];
                                var pbvalue = Math.floor((current / total) * 100);

                                if(pbvalue>0){

                                    $("#progressbar").progressbar({

                                        value:pbvalue
                                    });
                                }
                            }
                            if(pbvalue < 100){

                               t = setTimeout("updateStatus()", 500);
                            }
      });
}

JSONファイルの代わりにPHPセッション変数からJSONを取得することは可能ですか?

私が理解しているように、次のようにセッションからセッションデータを取得できます。

//json test
var jsonstr = $_SESSION['json_status'];
//parse json
var data = JSON.parse(jsonstr);

しかし、getJSON 関数を使用せずにそれを行う方法がわかりません。

4

2 に答える 2

1

あなたはそれを読みすぎています。.getjson は、サーバーから json 応答を取得することを期待する単なる $.ajax() 呼び出しです。それで全部です。

json テキストを出力する限り、PHP がどこからデータを取得するは問題ではありません。

そのjsonテキストがファイル/データベースから取得されたばかりであるか、json_encode()で動的に生成されたかにかかわらず、ブラウザーがjsonテキストを受信する限り、物事は「機能」します。

于 2013-09-06T18:50:03.427 に答える
0

ここでの最善の策は、セッションから json を返す getJSON のターゲットとして機能する php ファイルを作成することです。

 <?php
 session_start();
 if (isset($_SESSION["filnavn"])){
     echo $_SESSION["filnavn"];
     // Or, if the key contains an object instead of a json string, use
     // echo json_encode($_SESSION["filavn"]);
 } else {
     // echo the json you want here if the session variable is not set 
     echo "{}";
 }
 ?>

次に、jquery コードで getJSON をこれに変更します

  $.getJSON("/path/to/php/file.php", function(data){...});
于 2013-09-06T19:01:32.537 に答える