0

私はPHP、Javascript、jQueryなどにまったく慣れていないので、これは非常に混乱しています。

JSON コードをエコーする php ファイルを作成しました。次に、この応答をクライアントの Javascript 変数に格納しようとしています。

var res;
$.getJSON("my_php_file", { some_param: "param" },
      function(data) {
         res = data;
      }
});

代わりに、Web ブラウザーは、結果を に保存するのではなく、現在のウィンドウで応答 JSON を開くだけresです。どうしてこれなの?

ありがとう

4

2 に答える 2

5

リンクで onClick イベントを処理していますか? その場合、イベントの伝播を停止していません (デフォルトの動作)。

$('a#msome_link').click(function(e) {
    e.preventDefault();

    var res;
    $.getJSON("my_php_file", { some_param: "param" },
        function(data) {
            res = data;
        }
    });

    return(false); // this is not necessary any more in modern browsers
});
于 2012-09-28T08:08:57.120 に答える
0
  1. ヘッダーをmy_php_file返すことを確認してくださいContent-Type: application/json; charset=<your charset>
  2. json コールバックを提供します。

    my_php_file?cb=?

  3. my_php_fileが適切に応答することを確認します。

    printf("%s(%s)", $_GET['cb'], $json_response);

  4. @Mihai Stancuの回答を検討してください(実際には0番である必要があります:))

于 2012-09-28T08:11:09.670 に答える