0

次の jquery および cakephp コードは、正しい result_str を警告する私のローカルホストでは完璧に機能しますが、リモート サーバーでは機能しません。localhost とリモート サーバーの両方の出力を最後に含めました。

post メソッドは機能していますが、正しい出力がリモートで表示されません。

入力している電子メール ID がリモート データベースに存在することを確認しました。

merry_parent モデルの debug($merryparent_info) は、ローカルでもリモートでもまったく表示されません。

私のサイトへのリンクを見てください

ユーザーが保護者情報メール ID を入力してタブ ボタンを押すと、2 つの警告ボックスがポップアップします。最初のアラートは post メソッドで渡された email_id を表示し、2 番目のアラートは result_str を表示します。

誰かが私がどこで間違っているのか教えてもらえますか? 私は過去4日間、これを解決しようとしてきました。ありがとうございました。

<script type="text/javascript">
      $(document).ready(function(){
          $("#MerryParentEmail").change(function(){
            //txt=$("#MerryParentEmail").val();
            email_id=$("#MerryParentEmail").serialize();
            $.post("/students/get_parent_info",email_id,function(result_str){
                                 alert("result_str: "+result_str);
            });
          });
  </script>

students_controller.php

function get_parent_info(){
//$this->layout=false;
 if (!empty($this->data)){

    $merryparent_info=$this->Student->MerryParent->getMerryParents($this->data['MerryParent']['email']);
    print_r($merryparent_info);
    echo $merryparent_info['MerryParent']['initial'].'*****';
    echo $merryparent_info['MerryParent']['name'].'*****';
    echo $merryparent_info['MerryParent']['landline'].'*****';
    echo $merryparent_info['MerryParent']['mobile'].'*****';
    echo $merryparent_info['MerryParent']['address'].'*****';
    echo $merryparent_info['MerryParent']['state_id'].'*****';
    echo $merryparent_info['MerryParent']['city_id'].'*****';
    echo $merryparent_info['MerryParent']['postal_code'].'*****';
    }
}

merry_parent.php モデル

function getMerryParents($field_value){
    if (is_int($field_value))
        $conditions=array('merryParent.id'=>$field_value);
    else
        $conditions=array('merryParent.email'=>$field_value);

    //debug($conditions);

    $merryparent_info=$this->find('first',array(
                                'conditions'=>$conditions,
                                'recursive'=>-1   //fetches merry_parents table data only not the associated data
                                ));
          debug($merryparent_info);
    return $merryparent_info;
}

ローカルホストの出力:

最初のアラート

 email_id: data%5BMerryParent%5D%5Bemail%5D=banana8%40gmail.com

2 回目のアラート

 result_str: Array
  (
    [MerryParent] => Array
        (
            [id] => 38
            [initial] => Ms
            [name] => banana kaur
            [username] => banana8
            [email] => banana8@gmail.com
            [password] => 7b311dc3e6d4862caf024b65410c793adfc530bc
            [landline] => 
            [mobile] => 8487234783
            [address] => 99 fruits road
            [state_id] => 14
            [city_id] => 81
            [postal_code] => 877979
            [created] => 2012-02-08 05:24:49
            [modified] => 2012-02-15 15:46:05
        )
  )
  Ms*****banana kaur**********8487234783*****99 fruits road*****14*****81*****877979*****

リモート サーバーの出力:

最初のアラート

 email_id: data%5BMerryParent%5D%5Bemail%5D=banana8%40gmail.com

2 回目のアラート

result_str: ****************************************
4

1 に答える 1

0

OK、問題は MerryParent モデルのコードにありました。私のjqueryコードには何も問題はありませんでした。

MerryParent モデルでは、

function getMerryParents($field_value){         
if (is_int($field_value))         
    $conditions=array('merryParent.id'=>$field_value);         
else         
    $conditions=array('merryParent.email'=>$field_value);         

//debug($conditions);         

$merryparent_info=$this->find('first',array(         
                            'conditions'=>$conditions,         
                            'recursive'=>-1   //fetches merry_parents table data only not the associated data         
                            ));         
      debug($merryparent_info);         
return $merryparent_info;         
}         

merryParent.id を MerryParent.id に、merryParent.email を MerryParent.email に変更したところ、リモート サーバーで動作するようになりました。

于 2012-04-25T16:29:41.620 に答える