【发布时间】:2018-09-16 06:19:22
【问题描述】:
我正在尝试使用 ajax 请求从面板管理员更新用户密码,在控制器上使用 is_ajax_request() 但此函数显示我不在 ajax 请求中。为什么会这样?
这是我的 ajax jquery:
$.ajax({
url: urlTarget,
traditional: true,
type: 'post',
dataType: 'json',
data: {currentPassword:currentPassword, newPassword:newPassword},
success: function ( result ) {
if( result.status == 'success' ){
window.location = baseUrl;
}else{
$("#login-invalid-input").show();
$("#login-submit").attr("disabled", false);
}
},
error: ajax_error_handling
});
在控制器上:
private function ajax_checking(){
if ( !$this->input->is_ajax_request() ) {
redirect( base_url() );
}
}
public function change_password(){
$this->ajax_checking();
$this->load->model("admin_model");
$postData = $this->input->post();
$id = $this->session->userdata('id_admin');
if($this->admin_model->check_current_password($id, $postData['currentPassword'])){
$this->admin_model->change_password($id, $postData['newPassword']);
$send["status"] == "success";
}else
$send["status"] == "fail";
echo json_encode($send);
}
由于ajax_checking 的结果为假,系统会将我重定向到设置的网址。谁能帮帮我?
【问题讨论】:
标签: javascript php jquery ajax codeigniter