0

Codeigniter プラットフォームを使用しています。

ここにアヤックスがあります

$.ajax({
            type: 'POST',
            url: '/account/findpassword/exec',
            data: {
                'user_email': val
            },
            cache: false,
            async: false,
            success: function(result){
                if(result == 'FALSE')
                    alert('Email does not exist.');
                else if(result == 'TRUE')
                    alert('We sent a new password to your email.');                 
                else
                    alert('There is an error.');
            }
        });

ここにコントローラーがあります

    function exec()
    {
        $email = $this->input->post('user_email');

        $this->load->model('account/findpassword_model', 'findpass');
        $u_data = $this->findpass->get_user_data($email);
        if($u_data == FALSE)
        {
            $result = 'FALSE';
            echo $result;
            exit;
        }
        else
        {
        $this->findpass->set_user_newpass($u_data['u_id'], $new_pass);
        echo 'TRUE';
        }
    }

ここにモデルがあります

function get_user_data($email)
    {
        $query = 'SELECT u_id, u_name FROM '.T_USER_ACCOUNT.' WHERE u_email = "'.$email.'"';
        $result = $this->db->query($query)->result_array();
        if(count($result) > 0)
            return $result[0];
        else
            return FALSE;
    }

「メールが存在しません」と言っているはずです。メールアドレスがない場合のメッセージ。

メールアドレスが存在する場合は、2 番目のメッセージを言うことを想定しています。

dbサーバーを確認したところ、このコントローラーとモデルのコマンドが機能しました。

ただし、「エラーが発生しました」としか表示されません。すべてのタイプのメッセージ。

何百万回もチェックしましたが、正しい言葉を言わない理由がわかりません。

4

1 に答える 1

0

私が知る限り、TRUE または FALSE をクライアントに返すだけです。どちらにも一致しない場合、問題は、成功ハンドラーの結果の値は何ですか?

console.log(result);

成功関数では、サーバーから返されたものを表示する必要があり、そこから TRUE または FALSE に一致しない理由を簡単に把握できるはずです。

于 2012-05-02T00:23:07.360 に答える