无法从控制器发送成功和失败响应

时间:2019-02-06 15:04:50

标签: jquery ajax cakephp

我正在尝试通过ajax提交表单。表单运行良好。问题是我无法将响应从控制器返回给ajax。 步骤:当我提交表单时,数据响应会显示在浏览器的“网络”部分。但是无法使用成功功能。 这是我的ajax。

<script>
               $('document').ready(function(){
                $('#processBtn').click(function(){
                var first_name= $("#first_name").val();
                var last_name = $("#last_name").val();
                var selected_user_type= $("#selected_user_type").val();
                var user_type= $("#user_type").val();
                var mobile = $("#mobile").val();
                var email = $("#email").val();
                var location = $("#location").val();
                var contactperson = $("#contactperson").val();
                var pincode = $("#pincode").val();
                var state= $("#state").val();
                var phone1= $("#phone1").val();
                var city= $("#city").val();
                var datepicker= $("#datepicker").val();
                var pan= $("#pan").val();
                var aadhar= $("#aadhar").val();
                var address= $("#address").val();
                // console.log(first_name);
                $.ajax({
                type: "POST",
                url:"<?php echo $this->webroot;?>Agent/addprocess",
                 // $.ajax({url: "<?php echo $this->webroot;?>Agent/addprocess",
                dataType: "JSON", 
                data:{
    data:{
        User:{first_name:first_name,
            last_name:last_name,
            mobile:mobile,
            email:email,
            location:location,
                contactperson:contactperson,
                pincode:pincode,
                state:state,
                phone1:phone1,
                city:city,
                dob:datepicker,
                pan:pan,
                aadhar:aadhar,
                address:address,
                user_type:user_type,
                selected_user_type:selected_user_type
                }}},
                async: false,
                cache: false, 
                //  beforeSend: function () {
                // $("#processBtn").html("Submit <i class=\"fa fa-spinner fa-spin fa-fw\" aria-hidden=\"true\"></i>");
                // }, 
               success: function (jsonStr) {
                        alert(jsonStr.message)
                       $(".footer-msg-box").html(jsonStr.message);
                       $("#user_submit_button").html("Submit");
                }});
                return false;
            });
           });
       </script>

这是我的控制器代码。

 public function addprocess() {
      $postData = $this->request->is('post');
       // var_dump($this->request->data);
        if($postData) {
            $logData = array('mobile' => $this->request->data['User']['mobile'], 'email' => $this->request->data['User']['email']);
            if (isset($this->request->data['User']['user_id']) && $this->request->data['User']['user_id'] != '') {
                $logData['id'] = $this->request->data['User']['user_id'];
            }

            $isExist = $this->User->find('first', array('conditions' => $logData));

            if (count($isExist) == 0) {
                //$username = $this->request->data['User']['email'];
                $password = $this->randomPassword();
                $name=ucwords(strtolower(trim($this->request->data['User']['first_name'] . ' ' . $this->request->data['User']['last_name'])));
                $fulname=$this->request->data['User']['first_name'];
                $this->request->data['User']['password'] = md5($password);
                $this->request->data['User']['user_type'] = '4';
                $this->request->data['User']['username'] = $this->random_username(8);
                $agentid =$this->request->data['User']['username'];
                $mobileno=$this->request->data['User']['mobile'];
                $agentcname=urlencode('Edigitalvillage');
                $this->request->data['User']['parent_id'] = $this->user_id;
                $this->request->data['User']['contactperson'] = $this->request->data['User']['contactperson'];
                $this->request->data['User']['location'] = $this->request->data['User']['location'];
                $pincode=$this->request->data['User']['pincode'];
                $this->request->data['User']['pincode'] = $this->request->data['User']['pincode'];
                $state=$this->request->data['User']['state'];
                $this->request->data['User']['state'] = $this->request->data['User']['state'];
                $city=$this->request->data['User']['city'];
                $this->request->data['User']['city'] = $this->request->data['User']['city'];
                $this->request->data['User']['phone1'] = $this->request->data['User']['phone1'];
                // $this->request->data['User']['phone2'] = $this->request->data['User']['phone2'];
                $this->request->data['User']['dob'] = $this->request->data['User']['dob'];
                $this->request->data['User']['pan'] = $this->request->data['User']['pan'];
                $this->request->data['User']['aadhar'] = $this->request->data['User']['aadhar'];
                $address=$this->request->data['User']['address'];
                $this->request->data['User']['address'] = $this->request->data['User']['address'];
                 $this->request->data['User']['email'] = $this->request->data['User']['email'];
                 $email = $this->request->data['User']['email'];
                 $this->request->data['User']['dob'] = date('Y-m-d',strtotime($this->request->data['User']['dob']));
                $goid='X0000000';
                $apikey='sy000000';
                $apimode= "test";
                $service_code=25;   
$url="https://api.goprocessing.in/agent/agentRegister.go?goid=$goid&apikey=$apikey&rtype=json&apimode=$apimode&agent_id=$agentid&agent_msisdn=$mobileno&agent_name=$fulname&agent_cname=$agentcname&agent_address=address&agent_city=$city&agent_state_code=$state&agent_pincode=$pincode&service_code=$service_code";
        $result='';
        $array='';
        $ch=curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,50);
        $result=curl_exec($ch);
        curl_close($ch); 
        $array=json_decode($result,TRUE);

        print_r($array);
        $allData = '';
        if($result != '' && is_array($array))
        {
            if(count($array)>5 && $array['status'] == 1)
            {

            //echo 'Hello';
                if($array['otp_status']==1)
                {
                //echo 'Hello12';
                $res=$array['trans_id'];
                $this->request->data['User']['trans_id'] = $res;
                $agent_msisdn = $array['agent_msisdn'];
                $this->request->data['User']['trans_id'] =$agent_msisdn;

                //$agent_msisdn = $array['msisdn'];
                $allData .= '<div style="border:1px solid green;margin:20px;padding:25px;"><p style="color:red;">'.$array['remarks'].'</p>
                <input name="transid" id="transid" type="hidden" value="'.htmlspecialchars($res).'"/>
                <input name="agent_msisdn" id="agent_msisdn" type="hidden" value="'.htmlspecialchars($agent_msisdn).'">';
                //$allData .= '<tr>';
                //$allData .= '<td>Trans ID</td>';
                //$allData .= '<td><input name="transid"id="transid"type="hidden"disabled value="'.htmlspecialchars($res).'"></td>';
                $allData .= 'OTP &nbsp; <input name="otp" style="padding:6px;border:1px solid #cccccc;" placeholder="Enter OTP" id="otp_mobile" type="text" maxlength="6">';
                //$allData .= '<td>';
                $allData .= '<button type="button" class="signupbtn btn btn-info" style="width:100px;" onclick="received_otp()">OTP Send</button> <div id="otp_registration"></div></div>';
                //$allData .= '</tr>';

                        $this->User->save($this->request->data);  


                }
                 else
                {
                $allData .= "<p style='color:red'>No Response or Error.</p>";
                }
            }
            else
            {
                if(isset($array['message']))
                $allData .= "<p style='color:red'>".$array['message']."</p>";
            }
        }
        //$allData .=  '</table>';
        $All['message'] = $allData;
        echo json_encode($All, true);                

            } }

        }
    }

正在提交表单。但是成功功能不起作用。 任何帮助都是适当的。我是蛋糕php的新手。 谢谢

0 个答案:

没有答案