Wpis z mikrobloga

Mireczki, próbuję wysłać dynamiczne zapytanie GET lub POST z poziomu JavaSctripta do mojego ESP8266.

Na ESP postawiłem stronę na której używam frameworka p5 do programowania w JavaScripcie. Próbowałem użyć wbudowanych metod httpPost, httpGet oraz httpDo. Jednak żadna z nich nie działa.
Tutaj jest mój kod dla GET, a tutaj dla DO.
Na stronie mam zaimplementowanie logowanie, więc przy otwieraniu html'a bezpośrednio na moim komputerze i naciśnięciu przycisku przeglądarka nie może się zalogować aby uzyskać dostęp więc wyrzuca błąd:


Ale mniejsza o to, bo to ostatecznie mi się nie przyda.
Ważniejsze jest to, że po wrzucaniu tego na serwer i naciśnięciu przycisku aktywuje się funkcja odpowiedzialna za Callback, jednak ESP nie otrzymuje żadnego żądania i liczba argumentów wynosi zero (w konsoli nie ma błędów). Przy użyciu zwykłych form i postów przyciski działają bez zarzutu. O czym zapomniałem?

#programowanie #javascript #p5 #html #majsterkowanie #esp8266 #gumaapyta
  • 10
@kowalzki: dodałem takie coś do servera
server.sendHeader("Access-Control-Allow-Origin", "*");

i teraz dodaje takie błąd

Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'null' is therefore not allowed access. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with
@kowalzki: hmm
Teraz dałem takie:

server.sendHeader("Access-Control-Allow-Headers", "COMMAND");
server.sendHeader("Access-Control-Allow-Methods", "POST, GET");

I już nie wywala błędu, jednak serwer cały czas twierdzi, że dostaje zero argumentów ( ͡° ʖ̯ ͡°)
Zarówno przy odpalaniu z kompa jak i ze strony internetowej (teraz kieruje ruch na stronę która omija logowanie i każdy ma dostęp).