Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 1

Ошибка SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

08.06.2020, 01:36. Показов 8287. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Частично приходится работать с чужим старым кодом, где все работает на 100 из 100. Этот код используется полностью в аналогичной задаче, но в новом случае возникает ошибка SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data на 26 строке. Не понимаю - в чем загвоздка? помогите пожалуйста.

код с ошибкой:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$(document).ready(function(){
    $('#search-btn').click(function(){
        var genre = $('#genre').val();
        var author = $('#author').val();;
        var publishing = $('#publishing').val();;
        var book_name = $('#search').val();
 
        var xhr = new XMLHttpRequest();
        var get = '../models/filtr.php?'
        var request_ctr=0;
        
        if(genre!=0){get+='genre='+genre; request_ctr++;} 
        if(author!=0 && request_ctr!=0){get+='&author='+author; request_ctr++}
        else if(author!=0 && request_ctr==0){get+='author='+author; request_ctr++}
        if(publishing!=0 && request_ctr==0){get+='publishing='+publishing; request_ctr++}
        else if(publishing!=0 && request_ctr!=0){get+='&publishing='+publishing; request_ctr++}
        if(book_name!='' && request_ctr==0){get+='&book_name='+book_name; request_ctr++}
        else if(book_name!='' && request_ctr!=0){get+='book_name='+book_name; request_ctr++}
        xhr.open('GET', get, true);
        xhr.send();
 
        xhr.onreadystatechange = function(){
            if(xhr.readyState != 4)
                return;
            if(xhr.status == 200){
                var books = JSON.parse(xhr.responseText);
                if(books.length == 0) $('#container').html("<h3>Empty!</h3>");
                var img_text = "";
                for(book in books){
                    var book = books[book];
                    img_text += "<div class='container-item'><figure><img src='../images/"+book['picture']+"'><figcaption>";
                    img_text+=book['book_name']+"<br></figcaption>Price: "+book['sale_price']+" rub</figure></div>";
                    $('#container').html(img_text);
                }
            }
        }
 
        return false;
    });
});


дополнительно ../models/filtr.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
    include '../lib/db.php';
 
    $query = "SELECT `book_name`, `sale_price`, `picture` FROM `books` ";
    $request_ctr=0;
 
    if(isset($_GET['genre'])){
        $genre = $_GET['genre'];
        $query.="WHERE `id_genre`=$genre";
        $request_ctr++;
    }
    if(isset($_GET['author']) && $request_ctr!=0){
        $author = $_GET['author'];
        if($author==2 || $author==3) $author=20;
        $query.=" AND `id_author`=$author";
        $request_ctr++;
    }else if(isset($_GET['author']) && $request_ctr==0){
        $author = $_GET['author'];
        if($author==2 || $author==3) $author=20;
        $query.="WHERE `id_author`=$author";
        $request_ctr++;
    }
 
 
    if(isset($_GET['publishing']) && $request_ctr!=0){
        $publishing = $_GET['publishing'];
        $query.=" AND `id_publishing`=$publishing";
        $request_ctr++;
    }else if(isset($_GET['publishing']) && $request_ctr==0){
        $publishing = $_GET['publishing'];
        $query.="WHERE `id_publishing`=$publishing";
        $request_ctr++;
    }
    if(isset($_GET['book_name']) && $request_ctr!=0){
        $book_name = $_GET['book_name'];
        $query.=" AND `book_name`='$book_name'";
        $request_ctr++;
    }else if(isset($_GET['book_name']) && $request_ctr==0){
        $book_name = $_GET['book_name'];
        $query.="WHERE `book_name`='$book_name'";
        $request_ctr++;
    }
 
 
    $result = mysqli_query($link, $query);
 
    if($result){
        $books = [];
        while($book = mysqli_fetch_assoc($result)){
            $books[] = $book;
        }
        mysqli_free_result($result);
        echo json_encode($books, JSON_UNESCAPED_UNICODE);
    }
 
    mysqli_close($link);
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2020, 01:36
Ответы с готовыми решениями:

Ошибка в коде SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
не пойму в чем ошибка вот код header(&quot;Content-Type: application/json; encoding=utf-8&quot;); $uid = intval($_GET); $userid =...

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Всем привет, пытаюсь произвести запрос к обработчику c помощью AJAX, выдает ошибку при парсинге JSON че за фигня? гляньте плииз ребята ...

Код 200 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Ребята подскажите плиз, пытаюсь добавить форму отправки сообщений на сайт. После отправки выдает вот такую ошибку : SyntaxError:...

2
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
08.06.2020, 10:06
На сколько я понимаю эта ошибка означает что у вас обрыв в jsone. Вероятно встречается какой-то символ, который жс не может распарсить. Что там за строка хоть?
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
08.06.2020, 11:32
Цитата Сообщение от zerozero Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
$result = mysqli_query($link, $query);
if($result){
        $books = [];
        while($book = mysqli_fetch_assoc($result)){
            $books[] = $book;
        }
        mysqli_free_result($result);
        echo json_encode($books, JSON_UNESCAPED_UNICODE);
    }
mysqli_close($link);
Проверяйте, выполнение данных операций, приходит пустой результат, о чем JS вам и говорит.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2020, 11:32
Помогаю со студенческими работами здесь

Постоянная ошибка SyntaxError: JSON.parse: unterminated string at line 1 column 132829 of the JSON data
что бы не делал, нормально в консоле JSON не выводит, нужно раз 20 обновить только тогда выведет json, а так постоянно пишет SyntaxError:...

Uncaught SyntaxError: Unexpected end of JSON input
json не хочет возвращать значения из бд мой php: &lt;?php $servername =&quot;localhost&quot;; $username=&quot;root&quot;; ...

Parse error: syntax error, unexpected $end in /var/www/timo/data/www/mysite.ru/engine/ajax/upload.php on line 1340
Здравствуйте, помогите пожалуйста разобраться Parse error: syntax error, unexpected $end in...

Ошибка! Uncaught SyntaxError: Unexpected token < in JSON at position 0
Пытаюсь вывести товары из своей бд на страницу, что не так? Текст ошибки &quot;Uncaught SyntaxError: Unexpected token &lt; in JSON at position...

Не работает JSON.parse, ошибка Unexpected token o
подскажите пожалуйста почему может не работать: var obj=JSON.parse (&lt;?=$Arrbankomat?&gt;); расшифровка из дебагера: var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru