Próbuję użyć interfejsu REST API Firebase, aby zapisać dane w moim magazynie danych. Próbowałem z jQuery i wanilią JS XHR. Oba jednak dają ten sam błąd. 403 Bad Request i ta odpowiedź:Żądanie POST interfejsu API żądania REST usługi Firebase kończy się błędem: "Niepoprawne dane, nie można przeanalizować obiektu, tablicy ani wartości obiektu JSON ..."
Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names.
Oto mój przykład JSON, próbuję zapisać:
{
"date": "2pm",
"name": "John"
}
Oto przykład żądania ajax:
jQuery.ajax({
accept: "application/json",
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "https://something.firebaseio.com/endpointnode.json",
data: {
"name": "John",
"date": "2pm"
},
});
Reakcja żądanie:
{
"error" : "Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names."
}
Jak widać, nie ma żadnych specjalnych znaków ani nic. To powinno po prostu działać.
Działa dobrze z CURL i Httpie. Próbowałem sprawdzić opcję -v
w Httpie po szczegóły. Umieściłem wszystkie nagłówki tak, jak robi to Httpie. Nic nie pomogło. Nawiasem mówiąc, moje środowisko jest zapisywalne, więc nie powinno być żadnych problemów z uprawnieniami.
Każdy pomysł, jak to osiągnąć?
Dzięki.
edycji posta z odpowiedzią, to tak: '{ „błąd”:„Nieprawidłowy dane, nie można parsować obiektu JSON, tablicy ani wartości. Być może używasz nieprawidłowych znaków w nazwach kluczy. " } ' Ale w httpie, zwraca identyfikator utworzonego obiektu w Firebase stronie, która jest oczekiwana zachowanie: ' HTTP/1.1 200 OK Cache-Control: no-cache Content-Length: 31 Content- Wpisz: application/json; charset = utf-8 Strict-Transport-Security: max-age = 31556926; includeSubDomains; preload { "name": "-SomeRandomID" } ' – Hakan