php - CodeIgniter 不会从控制器获取回显数据到 Ajax
问题描述
ajax 请求正在工作并访问成功功能,问题是当我尝试使用echo json_encode($data)
.
$data['status']
和$data['error_list']
我有以下错误:未捕获的引用错误:未定义数据
你们能告诉我为什么会这样吗?
控制器:
public function get_user()
{
$result = false;
$data["error_list"] = array();
$data["status"] = false;
$email = $this->input->post("email");
$password = $this->input->post("password");
if (empty($email)) {
$data["error_list"] = "O email deve ser preenchido";
} else {
$this->load->model("M_login");
$result = $this->M_login->get_user($email);
}
if($result)
{
if(password_verify($password, $result->password))
{
$this->session->set_userdata("user_id", $result->id);
$this->session->set_userdata("user_name", $result->nome);
$data["status"] = true;
} else {
$data["error_list"]= "Credenciais invalidas";
}
}
else
{
$data["error_list"] = "Credenciais invalias";
}
echo json_encode($data);
}
阿贾克斯请求:
$(function(){
// quando ocorrer o submite no form esse evento sera carregado
$("#login-formulario").submit(function(){
//chamando a funcao ajax
$.ajax({
type: "post", //tipo da requisicao
url: BASE_URL + "login/get_user", //url que será chamada
dataType: "JSON",
data: $(this).serialize(),
beforeSend: function(){
clearError();
$("#loading").html(loadingImg());
},
success: function(){
if(data['status'] == true){
clearError();
$("#loading").html(loadingtrue());
}
else{
ShowError(data['error_list']);
}
},
error: function(response){
console.log(response);
}
})
return false;
})
})
解决方案
在 Ajax Success Function 中,您没有得到控制器的响应
success: function(ResponseData){
if(ResponseData.status == true){
clearError();
$("#loading").html(loadingtrue());
}
else{
ShowError(ResponseData.error_list);
}
}
推荐阅读
- c - Double free or corruption (out) Aborted (core dumped)
- python - 如何在 Windows 10 上使用 OpenCV Python 写入 AVI
- oracle - Qt 5.13 Oracle OCI 结果无法绑定以返回 SYS_REFCURSOR
- gluon-mobile - 如何使用具有不同参数(如精度、时间间隔等)的 start() 方法启动胶子移动 PositionService
- java - 有没有办法扩展 Codan ReturnChecker?
- windows - Powershell:使用 Get-NetIPConfiguration 获取 DHCP 状态?
- python - 使用中间层作为输入和输出的 keras 模型
- android - 我的媒体播放器在我第一次安装后播放时崩溃。之后它运行良好
- mysql - 如何使用hibernate entitymanager在spring boot中调用带有输出参数的MySQL存储过程
- php - 如何通过 system() 在 php 中执行 'ssh' 命令?