【发布时间】:2013-02-04 05:10:09
【问题描述】:
如何刷新 id 包含 PHP 会话的 div?
我的 JQ ajax 调用:
$('#btn_1').click(function(){
var parameters = $('#booking_form').serialize();
$.ajax({
url: baseurl + 'site/process',
type: 'POST',
data: parameters,
dataType: 'json',
success: function(output_str){
if(output_str == "false"){
$('#result_msg').html("please select one");
}else{
$('#result').html(output_str);
$('#loaddiv').load();
}
}
});
});
这是我想在 ajax 回调后重新加载的地方:
<p>
<div id="result" style="color:#606;"></div>
</p>
<div id="loaddiv">
<p><?php echo $selected; ?></p>
<p><?php echo $sum_charges; ?></p>
</div>
$selected和$sum_charges是一个php会话,在处理过程中存储,只有手动刷新会话才会显示在页面中,如何让会话在结果回调到页面时立即显示?
谢谢!!
编辑:
我在我的流程中使用了 codeigniter(在 CI 中仍然是新的),这是我的控制器的一部分用于此流程:
public function process(){
$confTypes = $this->input->post('cType');
$user_email = $this->input->post('user_email');
$output_str = NULL;
$conf_charge_total = 0;
if(!empty($confTypes)){
foreach($confTypes as $confType){
$explode_value = explode(",", $confType);
$conf_type = $explode_value[0];
$conf_charge = $explode_value[1];
$conf_charge_total += $conf_charge; //sum up checked values
$output_str .= $conf_type.":".$conf_charge.",";
/*$output_str = array(
'selected' => $conf_type.','.$conf_charge,
'email' => $user_email,
'sum' => $conf_charge_total,
'flag' => 'true'
);*/
$this->session->set_userdata('selected', $output_str);
}
$output_str .= $conf_charge_total;
$this->session->set_userdata('sum_charges', $conf_charge_total);
}else{
$output_str = "false";
}
echo json_encode($output_str);
}
【问题讨论】:
-
您的 js 脚本是否在同一页面上...或者您在单独的 js 文件中维护它??
-
据我了解,您想在处理
baseurl + 'site/process'页面后更新div#loaddiv。 -
@bipen,我的 .js 文件是分开的。
-
@Rohan Kumar,是的,这就是我想要的。