heksen
@heksen

Почему два раза загружает?

В всвоём проекте использую AjaxUpload, но фишка в том, что изображение загружается почему-то 2 раза. Что я делаю не так. Для проверки использую alert. Вот код:

$( "#button_load" ).ajaxUpload(
		{	
			url:  "upload_image.php",
			name: "file",
			onSubmit: function() 
			{
				NProgress.start();
			},
			onComplete: function( result ) 
			{
				console.log( result );
				var object = JSON.parse( result );
				$.each( object , function(k, item)
				{
					$( "#foto_block" ).html( "<img src = temp/" + item.name + " width = '350' height = '350' class = 'displayed'>" );
					alert( "sdsd" );
				});
				
				NProgress.done();
			}
		});
  • Вопрос задан
  • 2537 просмотров
Пригласить эксперта
Ответы на вопрос 4
1. Может быть где-то еще в коде запрятался такой же обработчик?
2. На сервер файл точно загружается дважды?
Ответ написан
Комментировать
fsdsdfsfdsfsdfsdfsdfsdfsd
@fsdsdfsfdsfsdfsdfsdfsdfsd
Unknown
Попробуйте так:

$( "#button_load" ).ajaxUpload(
    { 
      url:  "upload_image.php",
      name: "file",
      onSubmit: function() 
      {
        NProgress.start();
      },
      onComplete: function( result ) 
      {
        console.log( result );
        var object = JSON.parse( result );
        $.each( object , function(k, item)
        {
          if(item.name) {
            $( "#foto_block" ).html( "<img src = temp/" + item.name + " width = '350' height = '350' class = 'displayed'>" );
            alert( "sdsd" );
          }
        });
        
        NProgress.done();
      }
    });
Ответ написан
@hedint
Web разработчик
Вы сами на свой вопрос ответили комментарием
{
"answer":"OK",
"file":
{"name":"Hydrangeas.jpg","type":"image\/jpeg","tmp_name":"F:\\tmp\\php1CE5.tmp","error":0,"size":595284}
}
вот ваш json объект, который вы обходите в цикле (в jquery each)
в первый раз значение k item в цикле
answer, ok
второй раз -
file - object.

Вам вообще не нужен тут никакой цикл (each), достаточно object.file.name.
объект файла в response сервера - один.
Ответ написан
Комментировать
iLeonidze
@iLeonidze
xbooster.ru
Один раз была такая же проблема)
Как оказалось, всё тривиально. На проекте был реализован CrossDomain-requests, поэтому браузер сначала кидал запрос на файл методом OPTIONS и только потом методом, которым было необходимо изначально. Проверьте заголовки своих запросов. Если у Вас такая же ситуация, то это никак не исправляется ибо CrossDomain Policy.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы