从jquery函数刷新其他视图

时间:2014-05-14 12:03:19

标签: php jquery ajax codeigniter web

我用PHP编写应用程序。我有这段代码:

        $.ajax({
            type: 'POST',
            async: false,
            url: $("#loginForm").attr('action'),
            data: {
                username: $("#username").val(),
                password: $("#password").val()
            },
            dataType: 'text',
            cache: false, 
            success: function(mess) {
                console.log(mess);
                if(mess=='true') {
                    console.log('true');
                    console.log(window.location.href);
                    window.location.href = "mainLogged";
                    $("#cao").html('homepage.php',"cao cao ovde sam");


                } else {
                    $("#greska").html("Unesite ispravne podatke!");
                    $("#username").val("");
                    $("#password").val("");
                }
            }

    }

变量"混乱"是真的'我叫控制器mainLogged。我想更改id为#34;#cao"在homepage.php中,由控制器mainLogged调用。这可能吗?

2 个答案:

答案 0 :(得分:0)

当你写window.location.href = "mainLogged";时,其余的代码是没用的。

现在,如果您想在此处更改某些部分"#cao",您可以通过多种方式进行更改

  1. 您可以使用Cookie
  2. 您可以使用查询参数。
  3. 您可以使用会话
  4. 使用uri段的示例(查询值):

    将此window.location.href = "mainLogged";更改为此window.location.href = "mainLogged/1";

    现在把它抓到像这样的控制器

    $seg = $this->uri->segment(2);
    

    并在视图中检查$ seg是否为1,而不是您的员工

答案 1 :(得分:0)

当你登录时,你总是在mainLogged控制器的索引函数中结束,因为没有提到的函数,不需要从ajax发送任何查询字符串,因为你知道你最终在这里结束了登录。因此,在此控制器中,只需在此处为#cao的值设置一个变量,然后将其加载到视图中。

function index(){
    $data           = array();
    $data['cao']    = 'value_for_cao';
    $this->load->view('view', $data);
}

现在,在视图中,您只需回显值:

 <input id="cao" value="<?php echo $cao ?>" />

希望它有所帮助。