У меня следующий код для загрузки файла: HTML-код:
<a href="#" id="promotion_status_1"> <button type="button" class="btn btn-default brmodalbtn" data-toggle="modal" data-target="#BrandImageModal" id="1">On</button> </a> <div class="container"> <div class="modal fade" id="BrandImgeModaal"> <div class="modal-dialog"> <div class="modal-content"> <form id="form" enctype="multipart/form-data" role="form"> <input type="text" class="form-control" name="brand_id" id="brand_id" value="{$data.id}"> <input type="text" name="admin_url" id="admin_url" value="http://localhost/abc.com"> <input type="text" name="op" value="upload_brand_image"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title">Brand Image</h4> </div> <div class="modal-body"> <div id="messages"></div> <input type="file" name="file" id="file"> </div> <div class="modal-footer"> <button type="submit" class="btn btn-primary">Save</button> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </form> </div> </div> </div> </div>
jQuery Код AJAX:
$('#form').submit(function(e) { var form = $(this); var formdata = false; if(window.FormData) { formdata = new FormData(form[0]); } var formAction = form.attr('action'); $.ajax({ type : 'POST', url : 'manufacturers.php', cache : false, data : formdata ? formdata : form.serialize(), //data : formdata ? formdata : form.serialize() + '&' + $.param({'op':'upload_brand_image'}), contentType : false, processData : false, success: function(response) { if(response != 'error') { //$('#messages').addClass('alert alert-success').text(response); // OP requested to close the modal $('#BrandImgeModaal').modal('hide'); } else { $('#messages').addClass('alert alert-danger').text(response); } } }); e.preventDefault(); });
Теперь код PHP выглядит следующим образом:
$request = $_REQUEST ; switch( $op ) { case "add": case "upload_brand_image": //print_d($request); //here if error comes in validation I've an array of errors which needs to be printed in AJAX response. Following is the array $error_messages = array( "email" => "Email Id can't be blank", "email_invalid" => "Email Id is not valid" ); die; break; }
Моя проблема заключается в том, как использовать массив $error_messages
в ответе ajax, и если ошибка не наступает, сообщение успеха должно быть передано функции ajax вместо этого массива $ errror_messages.
Как достичь этого? Может кто-нибудь, пожалуйста, помогите мне в этом отношении?
Благодарю.