【发布时间】:2022-01-30 15:24:56
【问题描述】:
目前我在我的控制器中,并且我已经在控制器中放置了一个检查。基本上检查特定字段的值是否为 0。现在如果它是 0,我想通过我的控制器显示一个警报弹出窗口。为此,我尝试了以下代码:
public function status($status){
if($this->input->post('id')){
foreach($this->input->post('id') as $key => $id):
$check_emirate = $this->listings_model->check_emirate($id);
if($check_emirate->emirate == 0){
echo "<script>alert('This card was not approved.');</script>";
}else{
$data=array('status'=>$status); $updated=$this->listings_model->update($data,array(),$id);
}
endforeach;
}
return true;
}
现在它正在输入我的 if 条件,但它没有显示弹出窗口。
这是我为启用此功能而进行的 AJAX 调用:
$(".status").click(function(e) { chagestatus($(this)); }
function chagestatus(obj){
if($('.chkbx').is(':checked') == true){
$.ajax({
type: "post",
dataType: "json",
async:false,
url: "<?php echo site_url('listings/status'); ?>/"+obj.data('val'),
data: $(".chkbx:checked").serialize(),
success: function(result) {}
});
}
}
我在这里尝试的另一件事是以这种方式使用 json_encode:
if($check_emirate->emirate == 0){
$data = "<script>alert('This card was not approved, Thanks.');</script>";
echo json_encode($data);
}
success: function(result) {
result = JSON.parse(result);
}
但这也没有得到任何回应。
【问题讨论】:
-
您尝试过什么解决问题的方法?该代码是否添加到标记中? cou 如何检查条件是否被真正评估?
-
@NicoHaase 因此,由于某种原因,此警报未添加到标记中。我通过简单地打印和染色一些东西来检查它是否进入状态。我也尝试过使用 flashdata,但这不起作用
-
您还尝试了哪些解决问题的方法?由于您尚未共享其余代码,因此几乎不可能告诉您其他地方发生了什么
-
好的更新问题
-
您并没有告诉我们您一开始就在使用 AJAX。您是否在任何地方评估 AJAX 结果?在服务器上调用
json_encode并在浏览器中解析 JSON 结果无论如何都不会评估结果
标签: javascript php jquery ajax codeigniter