Перейти к содержимому


Пользователь месяца
Ixman Ixman 1-й за Октябрь
Очков активности: 693 0 тем, 33 сообщения, 14 баллов репутации
Сайт: o5cat.ru
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 96 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #2

    Ixman (o5cat.ru)
    Очков активности: 85.5 Вне конкурса за определение пользователя месяца

  • Фотография yuran
    #3

    yuran (yurbol.ru)
    Очков активности: 82.5 0 тем, 55 сообщений, 1 балл репутации

  • Фотография BLIK
    #4

    BLIK
    Очков активности: 51 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 51 0 тем, 34 сообщения, 1 балл репутации

  • Фотография WGN
    #6

    WGN (worldgamenews.com)
    Очков активности: 45 Вне конкурса за определение пользователя месяца

  • Фотография pozitron123
    #7

    pozitron123
    Очков активности: 31.5 2 темы, 15 сообщений, 1 балл репутации

  • Фотография алексс
    #8

    алексс
    Очков активности: 27 2 темы, 12 сообщений, 1 балл репутации

  • Фотография Андрей WPMasterKZ
    #9

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 19.5 0 тем, 13 сообщений, 1 балл репутации

  • Фотография Scool
    #10

    Scool (stostory.ru)
    Очков активности: 19.5 3 темы, 4 сообщения, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 31.10.2018
  • Яндекс выдача: 15.11.2018
Топ 5 участников по репутации


Проблема с JSON

#1 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3072 сообщений
  • Репутация: 844
0

Отправлено 09 November 2017 - 20:55

Всем привет.

Пытаюсь освоить ajax-загрузку файлов. Саму загрузку вроде одолел с трудом - всё грузится. Застопорился на этапе обработки результатов загрузки (success) .

 

Функция загрузки:

Спойлер

 

Обработчик "тестовый":

Спойлер

 

Консоль выдаёт ошибку JSON.parse():

Untitled-1.png

 

При том, что сама-же консоль в ответе определяет тип данных именно как json:

Untitled-2.png

 

@yury@Ixman, @miketomlin@fedornabilkin, и другие ГУРУ - подкиньте, идею в чём может быть проблема, плиииззз...

 

Заранее признателен.


 

Проблема решена.

 

Сообщение отредактировал ShowPrint: 09 November 2017 - 20:56

  • 1
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#2 Ixman

Ixman
  • Пользователь PRO
  • 2942 сообщений
  • Репутация: 766

Отправлено 09 November 2017 - 21:57

Михаил, я в своё время пытался изобрести такой же велосипед, но где-то тоже наступил на грабли и решил использовать стороннее решение. Это конечно плохо, но зато я сэкономил время.


  • 0


#3 ShowPrint

ShowPrint
    Topic Starter
  • Пользователь PRO
  • 3072 сообщений
  • Репутация: 844

Отправлено 09 November 2017 - 23:59

@Ixman, Иван, жалко бросать велосипед когда он на ходу, но небольшая восьмерка на колесе. Попробую ещё выровнять восьмёрку "натяжкой спиц".

Нагуглил что чаще всего такие ошибки появляются когда в json попадают не символьные переменные. Попробую ещё поэкспериментировать с обработчиком.

Спасибо за участие
  • 1
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#4 Ixman

Ixman
  • Пользователь PRO
  • 2942 сообщений
  • Репутация: 766

Отправлено 10 November 2017 - 09:56

@ShowPrint, если что-то получиться, то я буду рад узнать что и как.


  • 1


#5 ShowPrint

ShowPrint
    Topic Starter
  • Пользователь PRO
  • 3072 сообщений
  • Репутация: 844

Отправлено 10 November 2017 - 11:00

если что-то получиться, то я буду рад узнать что и как
Иван, ну тебе-то известно, что "восьмерка" на колесе исправляется элементарно, это современная молодежь в таких случаях тащит велик в ремонт или выбрасывает и покупает новый.  :)

 

Ночером пришла в голову мысля что, как и в какой последовательности проверить надо, тем более что у меня есть пара-тройка функций которые работают с json (написанные после твоей подсказки - эзотерического "пинка")  :)

 

Собственно по шагам:

1. Воткнул в обработчик возврат "тестового" json, не связанного с вытаскиваемыми данными:

$_Result=array("Name"=>"FileName.jpg","Size"=>"123456789");
echo json_encode($_Result);

Результат: ошибка сохранилась (в других функциях всё в норме).

Вывод: что-то не так в JS-функции.

 

2. Посмотрел по справочнику параметры функции $.ajax и сравнил с другими своими рабочими вариантами.

Ошибка сразу нашлась.  :) Как говорится

 

 

Дело было не в бобине, дело было не в реле - раздолбай сидел в кабине и мчудила на крыле

 

Вариантов решения оказалось два, поправить надо JS-функцию, оба варианта они вытекают из:

 

 

Вызов JSON.parse(str) превратит строку с данными в формате JSON в JavaScript-объект/массив/значение.

 

Вариант 1. Убрать строку

dataType: 'json',

В этом случае результат получается как строка, которую можно распарсить в json

 

Вариант 2. Убрать строку

var jsonData=JSON.parse(jsonResult);

В этом случае просто продолжать работу с jsonResult  как с json

 

Ошибка кода в стартпосте заключалась в том, что возвращаемый php-обработчиком результат уже был объявлен как json, а я его пытался распарсивать как строку, как результат - получал то, что получал в консоли  :)

 

Оффтопик
 


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/




Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru