0

以下 jquery 和 cakephp 代码在我的本地主机上运行完美,提示正确的 result_str,但它在远程服务器上不起作用。我在最后包含了本地主机和远程服务器的输出。

post 方法有效,但无法远程显示正确的输出。

我已经验证了我输入的电子邮件 ID 存在于远程数据库中。

merry_parent 模型中的 debug($merryparent_info) 在本地和远程都没有显示。

请看一下我网站的链接

当用户输入父信息email id并按下tab按钮时,会弹出2个警告框。第一个显示在 post 方法中传递的 email_id,第二个警报显示 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>

student_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

第二次警报

 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

第二次警报

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

1 回答 1

0

好的,问题出在代码 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 回答