-2

ホームコントローラーにログイン/ログアウトメソッドがあります。さまざまなコントローラーによって生成されるすべてのページに、ユーザー名とパスワードのテキストボックスがあります。

すべてのビューに共通の jquery ファイルがあり、ajax を使用して、任意のページからユーザー名とパスワードを Home コントローラーのログイン/ログアウト メソッドに投稿します。ただし、これらのページは Home コントローラーではなく別のコントローラーによって生成されているため、これは機能していないようです。firebug を確認すると、Ajax スクリプトに記載されている URL がそのページのコントローラーに追加されており、実際のリダイレクトは行われていません。

このようなシナリオでは、通常、自作のヘルパーを使用することをお勧めします。しかし、それをjquery ajax経由でどのように使用できるかわかりません。

ホームコントローラー

                function validate_login_user()
            {
                    $this->load->model('model');

                    if ($this->sristi_model->validate_login())
                    {
                        $data = array (
                            'username' => $this->input->post('username'),
                            'is_logged_in' => true
                        );
                        $this->session->set_userdata($data);
                        $this->load->view('includes/logged_in.php');
                        //return true;
                    }else{
                        $this->load->view('includes/loginerror.php');
                        //return true;
                    }
            }

JavaScript

    $('#sitelogin').on('click', '.login', function(){
        var username = $('#username').val();
        var password = $('#password').val();
        if (username == "" || password == ""){
            $('#error').fadeIn(200).delay(1000).fadeOut(1000);
            return false;
        }else if(username !== undefined && password !== undefined)
        {
            $.ajax({
                url:"home/validate_login_user",
                type:'POST',
                data:{username:username,password:password},
                cache:false,
                success:function(msg){
                    $('#sitelogin').html(msg).hide().fadeIn(800);
                    $('#loginerror').delay(2000).fadeOut(1000);
                }
            });
            return false;
        }else{
            return false;
        }
    });

製品コントローラーからログインしようとすると、Firebug でこれが表示されます

URL: POST validate_login_user
localhost/ci/product/categories/localhost/ci/home/validate_login_user

Status: 500 Internal Server Error

Domain: localhost

Size: 1.6 KB

Remote IP: [::1]:80

何か見つけたら教えて...

4

1 に答える 1