|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|||||||||||||||||||||
Как распарсить php массив на стороне клиента27.09.2019, 11:57. Показов 1788. Ответов 19
Всем привет.
Ребят, помогите, пожалуйста.
Uncaught SyntaxError: Unexpected token [ in JSON at position 1 at JSON.parse (<anonymous>) at Object.success (field.js:14) at c (jquery-3.4.1.min.js:2) at Object.fireWith [as resolveWith] (jquery-3.4.1.min.js:2) at l (jquery-3.4.1.min.js:2) at XMLHttpRequest.<anonymous> (jquery-3.4.1.min.js:2) Три дня на одном месте. Гугл перерыл вдоль и поперек. А результат, то ошибки в консоле, то вот такая ахинея:
0
|
|||||||||||||||||||||
| 27.09.2019, 11:57 | |
|
Ответы с готовыми решениями:
19
Как через сокет передать массив int от клиента, и распарсить его на сервере?
Как установить шрифт сайта на стороне клиента ? |
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 27.09.2019, 12:30 | |
|
Ну у вас вроди бы все хорошо к вам приходит массив объектов доступ к ним идет Имя_массива[индекс массива].имя_поля_объекта
[{"title":"JCB Fastrac 3000 Xtra"},{"title":"NEW HOLLAND T8"}] если это пришло в дате то читаете как data[i].title i соответственно в цикле увеличиваете
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|||
| 27.09.2019, 13:30 [ТС] | |||
|
0
|
|||
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 27.09.2019, 13:51 | |
|
Ну смотрите если дата у вас содержит массив объектов в виде [{"title":"JCB Fastrac 3000 Xtra"},{"title":"NEW HOLLAND T8"}]
то определяете кол-во объектов в массиве let data_length = data.length; далее делаете цикл for(i = 0; data_length != i ; i++){ console.log(data[i].title); } я просто не знаю куда подробнее можно описать. Добавлено через 5 минут просто вам нужно посмотреть тему с массивами и как работать с объектами в массивах . Вам нужно просто вывести дату в консоль что бы понять как данные к вам приходят . к примеру что бы потрогать первый элемент объекта с индексом 0 вы пишите data[0].title и она будет равна JCB Fastrac 3000 Xtra; data[1].title будет равна NEW HOLLAND T8 / Ну а имея эти данные можете конечно и новый массив сделать более понятный для вас . Но оперировать данными в такой форме в принципе достаточно удобно с учётом того что не нужно бегать по объекту в цикле и искать нужный элемент .
1
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 27.09.2019, 14:43 [ТС] | |
|
Yura007, спасибо за объяснения. Все бы было хорошо, но уже перепробовал не мало способов решения этой проблемы и обращение по вашему примеру в том числе. В итоге 3 варианта: 1. ошибки в консоль, 2. никакого результата и 3. undefined. Попробовал поплясать по вашим советам - undefined в консоль. Вот такая беда.
0
|
|
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|||||||||||
| 27.09.2019, 16:30 | |||||||||||
|
вы уверены что к вам приходит на клиент то что вы описали
Добавлено через 11 минут Не нужно отчаиваться =) У вас все получится
1
|
|||||||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 27.09.2019, 16:40 [ТС] | |
![]() это ваш скрипт (2)*[{…}, {…}]0: {title: "JCB Fastrac 3000 Xtra"}1: {title: "NEW HOLLAND T8"}length: 2__proto__: Array(0) field:87 JCB Fastrac 3000 Xtra field:87 NEW HOLLAND T8 favicon.ico:1 GET http://test/favicon.ico 404 (Not Found) а это то, что прилетает мне ![]() field.js:14 2[{"title":"JCB Fastrac 3000 Xtra"},{"title":"NEW HOLLAND T8"}] field.js:15 string долбанная строка ![]() хьюстон, у меня проблема
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||||||
| 27.09.2019, 19:19 [ТС] | ||||||
|
Yura007, переписал код воспользовавшись вашими советами
по сути, доки говорят, что json_encode передает Строку. Но на выходе 1.png - undefine. а 2.png - вообще без комментариев.. WTF? ![]() Почему так происходит?
0
|
||||||
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 27.09.2019, 22:06 | |
|
когда данные пришли на клиент вы забыли data = JSON.parse(data); я это не писал потому, что я взял массив с объектами готовый. тот который вы указали в первом посте .
перед циклом данные парсить нужно . Добавлено через 2 минуты и в первом посте она у вас указана, а в переписанном последнем посте отсутствует . Поставьте ее на место и попробуйте еще раз )
1
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|||||||
| 27.09.2019, 22:14 [ТС] | |||||||
|
результат полностью ожидаемый: Uncaught SyntaxError: Unexpected token [ in JSON at position 1 at JSON.parse (<anonymous>) at Object.success (field.js:18) at c (jquery-3.4.1.min.js:2) at Object.fireWith [as resolveWith] (jquery-3.4.1.min.js:2) at l (jquery-3.4.1.min.js:2) at XMLHttpRequest.<anonymous> (jquery-3.4.1.min.js:2) вот такие пироги..
0
|
|||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 27.09.2019, 22:23 [ТС] | |
|
json валидный, все прекрасно, а работать как нужно ни за что
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 27.09.2019, 22:56 [ТС] | |
|
проблема была успешно решена
![]() Yura007, вам огромное спасибо за подсказки, советы Много чего узнал и помогло в решении)
0
|
|
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 27.09.2019, 23:17 | |
|
рад за Вас ... переписал ваш код там все было рабочее .... А данная ошибка могла возникать только если вы передавали данные без json_encode / но она вроде указана .
Удачи =)
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|||||||
| 27.09.2019, 23:30 [ТС] | |||||||
|
осталась одна не понятная для меня вещь вместо того, чтобы менять option'ы, они просто постоянно добавляются при каждой смене первого селекта
0
|
|||||||
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 27.09.2019, 23:52 | |
|
jQuery метод .append() позволяет вставить содержимое, указанное в параметре метода в конец каждого выбранного элемента в наборе совпавших элементов. Метод вставляет указанное содержимое как последний дочерний элемент.
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 28.09.2019, 00:12 [ТС] | |
|
что делает этот метод я знаю, но проблему это не решает
0
|
|
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|
| 28.09.2019, 07:51 | |
|
ну тогда нужно посмотреть какие методы есть еще у jQuery =) .... и перед повторным запуском найти тот который очистить тебе <select name="tract"> наверное так )). И тогда при повторном нажатии на заветную кнопочку будет так как нужно .
0
|
|
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||||
| 28.09.2019, 09:52 [ТС] | ||||
|
с парсингом был мой "косяк". хотя есть огромный + понял что и как работает до мелочей.. а с этим дублированием реальная головоломка. возможно с помощью чистого js можно как то решить вопрос, но я не настолько глубоко его знаю Добавлено через 6 минут Добавлено через 7 минут
0
|
||||
|
61 / 44 / 16
Регистрация: 09.02.2019
Сообщений: 149
|
|||||||||||
| 28.09.2019, 10:06 | |||||||||||
1
|
|||||||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||
| 28.09.2019, 10:26 [ТС] | ||
этот метод вылетел с головы. а я пробовал таким же образом чистить с помощью empty ![]() Благодарю
0
|
||
| 28.09.2019, 10:26 | |
|
Помогаю со студенческими работами здесь
20
Как проверить есть ли файл на стороне клиента?
Как собрать многостраничный сайт только на стороне клиента? Как корректно закрыть соединение TCP на стороне клиента Как использовать java.nio.channels.Selector на стороне клиента? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|