我想在ajax警报错误消息上显示文件上传错误。如何在ajax错误上显示文件上传错误消息?
这是我的ajax:
$.ajax({
url : url,
type : 'POST',
cache : false,
contentType : false,
processData : false,
data : all_data,
dataType : 'JSON',
success : function(data)
{
if (data.result != 0) {
toastr.options = {
closeButton : false,
progressBar : false,
showMethod : 'slideDown',
timeOut : 3000
};
toastr.success('UPLOAD SUCCESS', 'Attention...');
if(activeid != 0){
if($("#tl_responder").val() != "" && $("#tl_dept").val() != "" && $("#tl_jawab").val() != ""){
toastr.success('MAIL IS SENT', 'ATTENTION...');
}
}
} else { window.location.href = "<?php print base_url(); ?>complaint/detail?id=" + data.result + "#reloadafteradd"; }
},
error: function (jqXHR, textStatus, errorThrown, data)
{
toastr.options = {
closeButton : false,
progressBar : false,
showMethod : 'slideDown',
timeOut : 3000
};
toastr.error(errorThrown, 'Error...'); //THIS IS THE AJAX ERROR ALERT
if(!errorThrown){ toastr.error(data.upl_error, 'Error...'); }//This is not working
}
});
的AJAX错误警报只显示警报时,AJAX不工作。我想在这里显示文件上传错误。
这是我的控制器,处理文件上传未上传时:
if (! $this->upload->do_upload('file')){
$response_array = array ('upl_error' => $this->upload->display_errors());
echo json_encode($response_array);
//return false;
}
嗯..在我的AJAX成功,有一个成功插入数据的警报。如果文件没有上传,数据不会被插入,但ajax正在工作。我如何将'echo $ this-> upload-> display_errors()'发送给我的ajaxx成功/错误。所以,如果数据没有上传,就会有一条消息说明为什么没有上传。太大或错误的扩展名。对不起,长评论:D – Shota
要显示错误,您需要使用$ this-> upload-> display_errors()从服务器端发送错误,然后在jquery中,如果成功标志为0,您将在json响应中获得upl_error字符串,您可以使用它显示错误。 检查我更新的答案。 –
谢谢。我会试一试 – Shota