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 解析意外字符,我认为我不需要它,因为我在上面的 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 回答