我使用代码点火器,我不知道它是否重复,因为我几乎都根据我的标题搜索。
就像我想要从ajax传递数据一样,在控制器中处理它然后在视图中显示它。
这里是我的jquery
$('.input').click(function(){
var id_ticket = $(this).attr('id');
$.ajax({
type : 'POST',
url : '<?=site_url("settlement/edit_trouble_ticket");?>',
data : 'id='+id_ticket,
beforeSend:function(){
$('#ajax-loader').show();
},
error: function(){
$('#ajax-loader').hide();
alert('Error\nGagal request data');
},
success: function(data){
$('#ajax-loader').hide();
//??
}
});
});
将这些数据传递给我控制器中的进程
function edit_trouble_ticket() {
$where = trim($this->input->post('id'));
$out = $this->settlement_model->get_trouble_tiket($where);
foreach ($out as $row) {
$result['id'] = $row->id;
$result['mid'] = $row->mid;
}
$this->load->view('rekon_settlement/cm_edit', $result);
}
模型只是获取所有这些数据的一些代码,在得到这些结果之后我想在我的视图中看到结果 在这里,我的观点很简单:
<table class="formstable">
<tr><th colspan="2">Data Trouble Ticket</th></tr>
<tr>
<td>MID</td>
<td><?=form_input('', $result['mid'], 'disabled="disabled"')?><?=form_hidden('mid', $result['mid'])?></td>
</tr>
<tr><td>TID</td><td><?=form_input('', $result['tid'], 'disabled="disabled"')?><?=form_hidden('tid', $result['tid'])?></td></tr>
<tr>
<td></td>
<td>
<?=form_reset('reset', 'Reset', 'class="button reset"')?>
<?=form_submit('submit', 'Submit', 'class="button submit" onclick="return confirm(\'Apa Anda yakin?\');"')?>
</td>
</tr>
</table>
答案 0 :(得分:0)
我刚刚阅读了你的标题,我认为你可以使用javascript函数window.location
在ajax发送后重新加载整个视图页面
答案 1 :(得分:0)
我经常使用代码点火器
当你从ajax获得响应时使用.html 链接 https://www.w3schools.com/jquery/html_html.asp
例如 $(&#34; p&#34;)。html(&#34; Hello world !&#34;);
无需重新加载页面
答案 2 :(得分:0)
您必须使用js重定向,具体取决于从呼叫返回的结果
$('.input').click(function(){
var id_ticket = $(this).attr('id');
$.ajax({
type : 'POST',
url : '<?php echo site_url("settlement/edit_trouble_ticket");?>',
// make sure your providing proper url t
data : {id:id_ticket},
beforeSend:function(){
$('#ajax-loader').show();
},
error: function(){
$('#ajax-loader').hide();
alert('Error\nGagal request data');
},
success: function(data){
$('#ajax-loader').hide();
if(data['res']){
window.location.assign("https://www.yoursite.com");
}
}
});
});
//ajax edit
function edit_trouble_ticket() {
$result=array();
$result['res']=false;
$where = trim($this->input->post('id'));
$out = $this->settlement_model->get_trouble_tiket($where);
foreach ($out as $row) {
$result['id'] = $row->id;
$result['mid'] = $row->mid;
}
// Am not sure hat the model returns if no match.so i will do
if(count($result)>0){
$result['res']=true;
}
$this->output->set_content_type('application/json')->set_output(json_encode($result));
}
答案 3 :(得分:0)
更改id
ajax参数,然后应用您想要显示返回视图的任何jquery方法,例如使用append()
方法:
$('.input').click(function(){
var id_ticket = $(this).attr('id');
$.ajax({
type : 'POST',
url : '<?=site_url("settlement/edit_trouble_ticket");?>',
data : {id:id_ticket},
beforeSend:function(){
$('#ajax-loader').show();
},
error: function(){
$('#ajax-loader').hide();
alert('Error\nGagal request data');
},
success: function(html){
// $('#ajax-loader').hide();
$('#ajax-loader').parent().append(html);
}
});
});
并在第三个参数上设置TRUE
,以便它将数据作为字符串返回,而不是将其发送到您的浏览器:
$cm_edit = $this->load->view('rekon_settlement/cm_edit', $result, TRUE);
echo $cm_edit;