Aktywne Wpisy
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.

GrzeesiekLBL +212
Skopiuj link
Skopiuj linkTa treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.

Wykop.pl
Testuję restdb.io
Nie działa rest api na localhost, chociaż łączę zgodnie z instrukcją "Connect from a development web app running on localhost":
https://restdb.io/docs/connect-to-your-online-database#connectXfromXaXdevelopmentXwebXappXrunningXonXlocalhost
A ze zwykłego linka otwartego w nowej karcie w przeglądarce działa - to korzysta z "Connect from a user session".
Działa też jak użyję "Wyślij ponownie" w devTools.
Czyli endpoint jest ok.
Co może być nie tak?
Komentarz usunięty przez autora
Serwer lokalny mam z (o ile to istotne):
http-server -p 8080 -c-1 --corsUstawienia w restdb.io:
Web page API keys (CORS)
Key Description Resource Methods Origin Realtime Pub Realtime Sub123123123123123123123123 xxx /** GET,POST,PUT,DELETE *
Kod XHR (też z przykładu, jak zadziała to przerobię na fetch):
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "[https://inna-nazwa.restdb.io/rest/colname/5f4ae41469eda85700003dbe");](https://inna-nazwa.restdb.io/rest/colname/5f4ae41469eda85700003dbe");)
xhr.setRequestHeader("content-type", "application/json");
Więc raczej problem leży w konfiguracji czegoś. :|
var myCorsApiKey = "...";
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText, 'aaa');
}
});
xhr.open("GET", "https://....restdb.io/rest/a");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("x-apikey", myCorsApiKey);
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
Ogólnie coś z tym po stronie serwera, bo dane są, zwracają się normalnie przy innych metodach, gdzie blokada nie obowiązuje.
To jak można tam skonfigurować to inaczej? Widzisz przecież screen:
https://www.wykop.pl/cdn/c3201142/comment_1598798853NpPYWLLntoanyXIbV2VswI.jpg
To może pokaż screen ze strony https://restdb.io/account/databases/inna-nazwa/api?
Stamtąd jest ten screen.
Ja mam stworzoną kolekcję i element z niej się zwraca jak użyć "Wyślij ponownie".
Nawet testowałem i działa też, z poziomu userScriptu, taki kod:
GM_xmlhttpRequest({method:"GET",
"[https://inna-nazwa.restdb.io/rest/colname/5f4ae41469eda85700003dbe",](https://inna-nazwa.restdb.io/rest/colname/5f4ae41469eda85700003dbe",)
headers:
Winne była ta linijka:
xhr.withCredentials = true;Wziąłem ją prosto z przykładu:
https://restdb.io/docs/rest-api-code-examples#restdb
Ona może być na
falsealbo może jej wcale nie być, żeby to działało.Ty to świadomie przestawiłeś z
truenafalse, czy wziąłeś przykład z innego miejsca?Może im zgłoszę że
truew tych przykładach to błąd, bo chyba o coś innego im tam nie chodziło.Tylko nadal w tym przykładzie tego nie musieli dodawać, bo tam nie ma żadnego kontekstu. Jak dla mnie z tego przykładu mogą usunąć tę linijkę.