0

我有一个关于 ajax 的问题,我对它很陌生,所以不确定最好的程序。无论如何,我已将 ajax 合并到我的 CodeIgniter 应用程序中,但我有可能有 2 种不同的响应,我不太确定如何在我的 ajax 中处理这个问题。

除了将我的结果附加到 div 之外,我可以不只是刷新 url 吗?

在我的控制器中,我有表单验证,当它为 false 时,我想刷新以显示我的错误,但如果它返回 true,我想显示新页面,如果这有意义吗?

看法

$.post("<?php echo base_url(); ?>part-one",
   $("form").serialize(),
   function(result){
      // if errors show this
      $("#error").html(result);

      // if there are no errors how do I check the response to refresh the page to a new url?
   }, "html"
);

控制器

if($this->form_validation->run() == FALSE){
   $data['content'] = "part_one";
   $this->load->view('template', $data);
} else {
   $data['content'] = "part_two";
   $this->load->view('template', $data);
}
4

2 回答 2

1

如果您想重新加载页面,您可以这样做;

$.ajax({
        url: url,
        type: 'post',
        data: data,
        success: function(data) {
            location.reload();       
        }
    });
于 2012-05-30T12:00:27.443 回答
0

如果我理解你的话,那么这段代码可以帮助你......

  $.post("<?php echo base_url(); ?>part-one",
   $("form").serialize(),
   function(result){
      // if errors show this
      $("#error").html(result);
if(result =='false condition response')
{ 
   window.location.reload()
}
if(result == 'True Conditon response')
{
window.location.href('URL of the page')
}


    // if there are no errors how do I check the response to refresh the page to a new url?
   }, "html"
);
于 2012-05-30T15:21:13.527 回答