Mam skrypt PHP, który jest wywoływany przez jQuery AJAX. Chcę, aby skrypt PHP zwracał dane w formacie JSON do javascript. Oto pseudo kod w skrypcie PHP:
$json = "{";
foreach($result as $addr)
{
foreach($addr as $line)
{
$json .= $line . "\n";
}
$json .= "\n\n";
}
$json .= "}";
Zasadniczo potrzebuję wyników dwóch pętli for do wstawienia w $ json.
php
javascript
json
AquinasTub
źródło
źródło
W poprzednich odpowiedziach brakuje kilku rzeczy:
Ustaw nagłówek w swoim PHP:
json_encode()
może zwrócić tablicę JavaScript zamiast obiektu JavaScript , zobacz:Zwracanie JSON ze skryptu PHP
Może to być ważne w niektórych przypadkach, ponieważ tablice i obiekty nie są takie same.
źródło
json_encode()
(jak wszystkie funkcje) zawsze zwraca coś (w tymNULL
); można wydrukować dane, przetwarza je, a następnie wydrukować go, assing go do zmiennej do późniejszego wykorzystania, zapisać go do pliku, itd ... można przeczytać więcej na tematreturn
w PHP: Zwracanie wartości . Możesz również (i powinieneś!) Sprawdzić, co zwraca każda nieznana funkcja, zobacz nasz przykład json_encode () stwierdza Zwraca ciąg zakodowany w formacie JSON w przypadku sukcesu lub FALSE w przypadku niepowodzenia.return json_encode($jsonArray);
nie działa (http.get w AngularJS nic nie dostał), dopóki później to nie zauważyłem :)W dokumentacji PHP znajduje się sekcja JSON . Będziesz jednak potrzebował PHP 5.2.0.
Jeśli nie, oto biblioteka PECL, którą możesz zainstalować.
źródło
Zwykle chciałbyś mieć również jakąś strukturę swoich danych u odbiorcy:
Pozwoli to również zachować klucze tablicy.
Pamiętaj, że json_encode działa tylko na danych zakodowanych w utf8.
źródło
Możesz użyć prostego JSON dla PHP . Wysyła nagłówki, które pomagają w tworzeniu formatu JSON.
To wygląda jak :
źródło
$ msg = "Wprowadziłeś niewłaściwą nazwę użytkownika LUB hasło"; $ responso = json_encode ($ msg);
źródło