0

配列の結果をjsonにエンコードし、javascriptのajax成功イベントに渡そうとしています。

PHP

    $results = array(
        "time1" => 1,
        "time2" => 2,

    );
    echo json_encode($results); 

JAVASCRIPT / JQUERY

   $.ajax({
             type: "POST",
             url: "actions/myphp.php",
             data: PassArray,
             dataType: 'json',
             beforeSend: function (html) { // this happens before actual call
             //    alert(html);
             },
             success: function (html) { 
                 // $("#loginoutcome").text(html);
                // alert(html);
                 var obj  = jQuery.parseJSON(html ); 
                // Now the two will work
                $.each(obj, function(key, value) {
                    alert(key + ' ' + value);
                });

             },

JQUERY.parseJSONをそのままにしておくと、json parseの予期しない文字がスローされますが、上記のdataType:'json'で指定したように、とにかく必要だとは思いません。しかし、値を取得するにはどうすればよいですか??

ありがとう

4

1 に答える 1

2

データ型をJSONとして渡すと、jQueryはJSONオブジェクトを返します。これ以上、解析する必要はありません。

したがって、次のようにします。

success: function (obj) { 
            $.each(obj, function(key, value) {
                alert(key + ' ' + value);
            });

         },

time1またはtime2がわかっている場合は、次のように実行できます。

success: function (obj) { 
            alert(obj.time1);
            alert(obj.time2);
         },
于 2013-03-10T10:39:31.810 に答える