管理ajaxform之外的json数据

时间:2014-11-11 19:58:25

标签: javascript php jquery json

我使用着名的ajaxForm Jquery表单插件(http://jquery.malsup.com/form/)。我会告诉你我的代码:

HTML code:

<script type="text/javascript">
$(document).ready(function() { 
$('#users_form1').ajaxForm({ 
    dataType:  'json', 
    success:   processJson           
  });
}); 

function processJson(data) { 
  $("#first").val(data[1].elem1);    
  $("#second").val(data[1].elem2);
}
</script>

PHP代码:

  ... 
  $result=$db->query($query);        
    if ($result->num_rows>=1) 
    {     
      $counter=0;   
      while ($row = $result->fetch_assoc()) { 
         $counter++; 
         $data1=$row["req_created"];            
         $data2=$row["subject"];
         $temp[$counter] = array(
            'elem1' => $data1,
            'elem2' => $data2,
         );
      }
       echo json_encode($temp); 
    }     

正如您从上面的代码中看到的那样,$ temp被传递给函数processJson中的var数据。我想知道在processJson之外是否可以访问array $ temp?例如,我想在单击按钮时选择$ temp [3] [&#34; elem2&#34;],但是是否可以在不重新搜索数据库的情况下获取此数据?如果是,怎么样?

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以将数据放在变量中,这就像临时存储一样。

<script type="text/javascript">
$(document).ready(function() { 
$('#users_form1').ajaxForm({ 
    dataType:  'json', 
    success:   processJson           
  });
}); 
var tem_data;
function processJson(data) { 
  $("#first").val(data[1].elem1);    
  $("#second").val(data[1].elem2);
   tem_data = data;
}

// Use tem_data anywhere; 
</script>

但只有最后请求的数据才是tem_data

如果您想要所有数据,请使用数组推送方法

在数组中执行此操作