我正在尝试通过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 <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的新手。 谢谢