Problem z getJSON() + PHP

Kaktus | 2021-02-17 10:25:54 UTC | #1

Cześć.
Mam mały problem z metodą jQuery getJSON(), mianowicie chciałbym wysłać do pliku php dane, a potem otrzymać na podstawie tych danych inne dane, niestety szukałem ale nie znalazłem - jak odebrać te dane w pliku php.

Kod: $.getJSON(“cos.php”, data, function(returneddata){});

Konkretnie to chodzi mi o ‘data’ jak odczytać w pliku php.


Nieznajomy11 | 2018-08-04 02:20:56 UTC | #2

Zainteresuj się szeroko pojętym ajaxem. Tutaj znajdziesz więcej o tym.


Kaktus | 2018-08-04 00:23:20 UTC | #3

Hobbystycznie tylko coś robię, nie jest mi to potrzebne, a odpowiedzi w dokumentacjach znaleźć nie mogłem więc zapytałem tutaj.
A dodatkowo pojawił się kolejny problem, bo nawet jak daje zwykłe getJSON, a na stronie mam w echo ustawionego JSON’a to zwraca null. ;/

@Edit pierwszy problem rozwiązałem, został ten drugi.


Nieznajomy11 | 2018-08-04 00:27:38 UTC | #4

Mógłbyś umieścić tutaj przykładowy kod w którym występuje problem?


Kaktus | 2018-08-04 01:52:01 UTC | #5

$.getJSON(“link.pl/przyklad.php”, {
test: “test”
}, function(x){
if (!isset(x) || !x){

              console.log('null') }
});

-> zwracane jest null, mimo że na stronie wyświetlany jest json.

@Edit Kolejne wnioski: VPS, na którym jest plik nie daje odczytywać jego zawartości innym stronom. Nie wiem dlaczego.


Nieznajomy11 | 2018-08-04 12:02:53 UTC | #6

Wydaje mi się, że wystarczyłoby console.log(x), no a tak poza tym, to daj przykład tego jsona też.

[quote=”Kaktus, post:5, topic:7671”]
VPS, na którym jest plik nie daje odczytywać jego zawartości innym stronom.
[/quote]

Prawdopodobnie chodzi o cross-origin policy. Jeśli zapytania są wykonywane między różnymi domenami, może być potrzebne ustawienie dodatkowego nagłówka. W twoim przypadku pewnie jest ustawione na same-origin.

http://www.ajax-cross-origin.com/how.html


Kaktus | 2018-08-04 17:28:58 UTC | #7

Tak, problem był z headerem na vps’ie.


system | 2021-02-17 10:26:07 UTC | #8

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.