Wpis z mikrobloga

Mirki, problem mam z zapytaniem HTTP. Próbuję wysłać zapytanie GET z poziomu JavaScripta kilkoma metodami - używając czystego JSa lub P5.js (dokładniej funkcji httpGet lub loadJSON).

W momencie kiedy definiuję typ danych jako JSON (w czystym JSie albo w P5) dostaję powiadomienie o tym, że brak w nagłówku pozwolenia na „Access-Control-Allow-Origin". Czyli wydaje się, że rozwiązaniem jest wyciąganie JSONP zamiast samego JSON, ale...
Gdy próbuję wyciągnąć JSONP (to już tylko za pomocą P5 udało mi się zrobić) dostaję bardzo dziwny syntax error. I do takiego pliku przenosi mnie Firefox, po kliknięciu w to "getdata:1:6" po prawej stronie. Czyli dane przychodzą poprawnie, nawet są poprawnie sformatowane jako JSON (skopiuję żeby nie było wątpliwości: {"cid":4711,"data":{"value":"0860"},"code":200}). Ale z jakiegoś powodu powodują syntax error jakby były źle interpretowane.

Co robić jak żyć? Od razu mówię, że dodanie na serwerze tego „Access-Control-Allow-Origin" nie wchodzi w grę, gdyż tymi zapytaniami próbuję się dostać do takiego modułu, gdzie niemal na pewno nie mam takiej możliwości.

#programowanie #javascript #p5js #http #html #json #jsonp #pytanie #pytaniedoeksperta
Gumaa - Mirki, problem mam z zapytaniem HTTP. Próbuję wysłać zapytanie GET z poziomu ...

źródło: comment_Jj23BOqvmPAbjogOJIplUcHTCCjDnZmV.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gumaa: Dostajesz syntax error, bo nie rozumiesz na czym polega JSONP. JSONP to trick, w którym przesyłane przez serwer dane zostają owrapowane w funkcję JSową dostępną globalnie i umieszczone w tagu `
  • Odpowiedz
@Marmite: a mógłbyś coś więcej na temat ustawiania tego proxy napisać?

I nie da się jakoś ominąć tego syntax errora dobrać się do tych surowych i niezinterpretowanych danych?
  • Odpowiedz
@Gumaa: nie da się. Nie ma co tu więcej opisywać, stawiasz sobie swój własny serwer, który odbierze request z twojego skryptu i przekaże go dalej w niezmienionej formie, a następnie otrzyma odpowiedź i również prześle do twojego skryptu w niezmienionej formie. Tyle w skrócie, a nt. konkretnych implementacji i, zapewne, gotowców, niech się wypowie Google.
  • Odpowiedz