2012-05-01 10 views
0

私はCodeigniterプラットフォームを使用しています。ここ ajaxを使用して結果値を取得

は、ここでは、コントローラ

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'; 
     } 
    } 

アヤックスここ

$.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 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サーバをチェックしたとき、このコントローラとモデルコマンドが機能しました。

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

何百万回もチェックしましたが、なぜそれが正しい言葉ではないのか分かりません。

+0

これはヒントです。キーボードの左上隅にあります。 – Adi

+0

私の実際のコードのメッセージは異なります。私はちょっと修正しました。ここにコード – james

+0

がありますか?POSTリクエストの結果が実際に 'FALSE'か 'TRUE'かどうかを調べるにはFirebugで確認してください – Adi

答えて

0

私が知る限り、TRUEまたはFALSEをクライアントに返すつもりです。どちらかと一致しない場合は、成功ハンドラの結果の価値はどうですか?あなたの成功の機能で

console.log(result);

あなたが戻ってサーバから取得している何を示さなければならない、とありますからすると、TRUEまたはFALSE一致していない理由を把握するために簡単なはずです。

関連する問題