我使用着名的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;],但是是否可以在不重新搜索数据库的情况下获取此数据?如果是,怎么样?
非常感谢
答案 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
。
如果您想要所有数据,请使用数组推送方法
在数组中执行此操作