Показать сообщение отдельно
  #1 (permalink)  
Старый 14.09.2016, 08:48
Аспирант
Отправить личное сообщение для Eliot456 Посмотреть профиль Найти все сообщения от Eliot456
 
Регистрация: 26.05.2015
Сообщений: 44

ajaxupload внутри ajax запроса
Здравствуйте. Помогите, пожалуйста разобраться с асинхронной загрузкой файла в форме которая получена аяксом.
Есть форма которая заполняется последовательно, поля меняются через ajax, по мере заполнения. На последнем этапе предлагается загрузить файл изображения. Использую плагин ajaxupload.js там есть опция action, аналогичная url в методе ajax jquery. При попытке загрузки сервер присылает 500 ошибку. Как прописать action ?
$('#customer-reg-step1').on('beforeSubmit', function () {

		var form = $(this);
	        var error = false;
	        var name = $("#users-username").val();
	       
	        if(name == '' ){
	        	error = true;
	        	return false;
	        }
	        if(!error){
	            $.ajax({
	              type: "POST",
	              url: '/registration/customer',
	              data: $('#customer-reg-step1').serialize(),
	              success: function(res){
	                var result = JSON.parse(res);
	                if(result.answer == 'Данные добавлены'){
	                  var showContent = result.html_form;
	                //    $('.reg-form').attr('action', result.action_form);
	                    $('#send-wrap').remove();
	                    $('.reg-form').append(result.submit_code);
	                }else if(result.answer == 'Данные получены'){
	                	$('.reg-form-row, #flag2').remove();
	               		$('.reg-form').append(result.html_code);
	               		$('.reg-steps li').eq(1).removeClass('active').addClass('completed');
						$('.reg-steps li').eq(2).addClass('active');
						var button = $('#img-upload'), file;
						new AjaxUpload(button), {
							action: '/registration/upload',
							data: {file: "file"},
				  		  	name: 'userfile',
				  		  	onSubmit: function(file, ext){
					            if (! (ext && /^(jpg|png|jpeg|gif)$/i.test(ext))){
					                // extension is not allowed
					                alert('Ошибка! Разрешены только картинки');
					                // cancel upload
					                return false;
					            }
					          
					            this.disable();
					           	$('.uploader').fadeIn();
					           	$('#img-upload > img').fadeOut();
					        },
					        onComplete: function(file, response){
					          
					        }
						})
	                }else if(result.answer == 'Сохранено'){
	                	document.location.href = '/registration/customer';
	                }
	                $('input').focus(function(){
	                	$('.castom-help-block').remove();	
	                })
	              }, 
	              error: function(){
	                alert('Ошибка');
	              }
	            })
	          }
			return false; 
	})
Ответить с цитированием