我的ajax被调用但它没有从模型中获取数据,因此没有进行验证。在控制器数据中没有从模型中挑选出来,因此成功函数没有捕获任何数据。 我正在注册选项卡弹出窗口的第一个名字字段中。
这是ajax调用代码
JS代码,validation.js
var ajaxHandler = function() {
$.ajax({
method: 'post' ,
url : '/medicare/Users/validate_form' ,
params : {
field:$('#first_name').attr('id'),
value: $('#first_name').val()
} ,
success: function(data){
console.log("Successful");
} ,
error : function(e){
console.log(e) ;
}
}) ;
}
控制器操作,validate_form
public function validate_form(){
if($this->RequestHandler->isAjax()){
$this->request->data['User'][$this->request['form']['field']] = $this->request['form']['value'];
$this->User->set($this->data);
if($this->User->validates()){
$this->autoRender = FALSE;
}
else{
$error = $this->validateErrors($this->User);
$this->set('error',$this->User->validationErrors[$this->request['data']['field']][0]);
}
} }
答案 0 :(得分:0)
由于您写了 -
,因此POST请求中没有数据发送params: {
field:$('#first_name').attr('id'),
value: $('#first_name').val()
} ,
应该是 -
data : {
field:$('#first_name').attr('id'),
value: $('#first_name').val()
} ,