如何返回数据响应ajax的真或假function?

我希望如果数据为空则返回true或者如果数据不为空则返回false。如果数据为空,则继续执行表单操作,否则保留在当前页面中。

代码是:

 function error() { var response = false; $.ajax({ url: BASE_URL + 'auth/validateForm', type: 'POST', data: { surname: $("#r-surname").val() }, dataType: "json", success: function(data) { if(data.surname) { $('#error_surname').html(data.surname); response = false; }else{ $('#error_surname').html(''); response = true; } }, error: function(data) { return false; } }); alert(response); return response; }  

PHP:

 public function validateForm() { $surname = $this->input->post('surname'); $data = array(); if(strip_tags($surname) == '') { $data['surname'] = 'Prenumele este invalid!'; } echo json_encode($data); } 

var response只是false。如果没有错误,如何使响应成立?

您无法返回嵌套的ajax函数的结果。 javascript将执行并继续运行 – 但是在函数返回后发生请求的延迟将会发生。

最好的事情是链接你的活动。 只需创建另一个接受true或false值的函数,并将逻辑包装在那里。

  

在表单中添加ID

 

实际上检查返回是空还是空。

 success: function(data) { if((data != null || data != "") && data.hasOwnProperty("surname")) { $('#error_surname').html(data.surname); response = false; }else{ $('#error_surname').html(''); response = true; }