• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed PHP i JSON - Unexpected end of JSON input

Object Storage Arubacloud
0 głosów
1,489 wizyt
pytanie zadane 11 listopada 2019 w PHP przez kingkushlee Gaduła (3,960 p.)
zamknięte 12 listopada 2019 przez kingkushlee

Witam, mam taki kod:


<?php
	
	session_start();
	require_once("../config/database_config.php");
	require_once("request.class.php");

	$req = new Request($db_host, $db_user, $db_pass, $db_name);
	$posty = array();
	$req->executeUpdate("SET NAMES utf8");
	$req->executeUpdate("SET CHARACTER_SET utf8_unicode_ci");
	
	if ($result = $req->executeQuery("SELECT * FROM tabela ORDER BY id DESC")) {
		for ($i = 0; $i <= $result->num_rows - 1; $i++) {
			$row = $result->fetch_assoc();
			$title = $row['tytul'];
			$date = $row['data'];
			$content = mb_substr($row['tresc'], 0, 70) . ' <a href="news/' . $row['id'] . '" class="link">
				ZOBACZ WIĘCEJ...</a>';

			array_push($posty, '<article class="col-12 post"><h3 class="text-center font-weight-medium">' . $title . '</h3><p>' . $content . '</p><span class="text-left"><small>Dodano: ' . $date . '</small></span></article>');	
		}
	}
	
	echo json_encode($posty);

i taki: 

var from = 3;

$(document).ready(function() {
	loadInfo(from);
	$('.btn').on('click', function() {
		from += 3;
		loadInfo(from);
	});
});


function loadInfo(from) {
	$.ajax({
		url: 'plik wspomniany wyżej',
		success: function(result) {
			console.log(result);
			let posts = JSON.parse(result);
			$('.blog-load').html('');
			for (i = 0; i <= from; i++) {
				$('.blog-load').append(posts[i]);
			}
		}
	});
}

Żaden rekord się nie ładuje, a w konsoli wywala mi błąd: Uncaught SyntaxError: Unexpected end of JSON input.

Cała akcja dzieje się po przeniesieniu strony na hosting (w linuxpl.com). Na localhoście takie problemy nie występowały i wszystko ładowało się prawidłowo. Z góry dziękuję za pomoc.

komentarz zamknięcia: Rozwiązano

1 odpowiedź

0 głosów
odpowiedź 11 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
wybrane 12 listopada 2019 przez kingkushlee
 
Najlepsza
A w pliku php config odpowiedzialnym za łączenie sie z baza danych zmieniłeś nazwę bazy i hasło na takie jakie jest w serwerze? A i wklej całe logi z błędami.
komentarz 11 listopada 2019 przez kingkushlee Gaduła (3,960 p.)

Z bazą danych łączy się poprawnie; zmieniłem dane. Logi z błędami:

Uncaught SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Object.success (load.information.js:17)
    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)

 

komentarz 11 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
Masz jakiś błąd w składni. Zobacz czy napewno na localhost chodzi a jeśli chodzi to czy masz ten sam kod w sensie serwer localhost. Następnie pokaż jak zbudowaneś ścieżkę url dla ajaxa.
komentarz 11 listopada 2019 przez kingkushlee Gaduła (3,960 p.)
Sprawdzałem, czy ta tablica się poprawnie klei i wszystko jest ok. Tylko json_encode() nie chce działać poprawnie. Czy to może mieć związek z wersją PHP na obu serwerach?
komentarz 11 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
Może mieć, ale nie powinno
komentarz 11 listopada 2019 przez kingkushlee Gaduła (3,960 p.)
Napisałem do supportu mojego hosta i konsultant stwierdził, że może to być związane z wersją serwera MySQL, ale mi się wydaje, że nie, ponieważ wszystko się ładuje poprawnie do tablicy, tylko problem się zaczyna w json_encode(). Co o tym myślisz?
komentarz 11 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
A weź usuń json_encode i daj echo a $_POST dla pobieranych wartości
1
komentarz 12 listopada 2019 przez kingkushlee Gaduła (3,960 p.)
Napisałem maila do supportu i stwierdzili, że to ich błąd w configu php czy coś takiego. Ale dziękuję za poświęcony czas i daję najlepszą odpowiedź :D
komentarz 13 listopada 2019 przez kingkushlee Gaduła (3,960 p.)
Tak, to był błąd wersji PHP. Po zaktualizowaniu do 7.3.0 od razu zaczęło się wszystko poprawnie parsować

Podobne pytania

0 głosów
1 odpowiedź 1,174 wizyt
0 głosów
1 odpowiedź 1,509 wizyt
pytanie zadane 24 sierpnia 2016 w JavaScript przez Kacper Duda Obywatel (1,970 p.)
0 głosów
2 odpowiedzi 1,991 wizyt

92,539 zapytań

141,382 odpowiedzi

319,479 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...