Ustaw typ zawartości w application/Json za pomocą javascript API próbki

0

Pytanie

Staram się wysłać jakieś dane formularza w aplikacji spring, za pomocą API próbki w javascript. Mam ten kod do wysyłania danych z formularza:

document.querySelector('#formPet').addEventListener('submit', event => {
    event.preventDefault();
    let email= document.querySelector("#email");
    fetch('http://localhost:8080/petForm/'+email.value+'/pets', {
      method: 'POST',
      body: JSON.stringify({
        help: "helpme:("
      })
    })
  });

ale pojawia się błąd statusu 415 "Nieobsługiwany typ nośnika". Nawet gdy jestem specjalnie ustawiam tytuł "Typ zawartości" w "application/json", wysyła jako "tekst normalny"

fetch('http://localhost:8080/petForm/'+email.value+'/pets', {
      method: 'POST',
      header: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        help: "helpme:("
      })
    })
  });

to odpowiedź, którą dostaję od serwera:

Server response

Oto metoda, która przyjmuje zapytania na wiosnę:

    @PostMapping("petForm/{id}/pets")
    public ResponseEntity<Pet> createPet(@PathVariable("id") String ownerId, @RequestBody Map<String, Object> data){
        System.out.println(data);
        return ResponseEntity.ok().build();
    }

nie wiem, dlaczego żądanie jest wysyłane w formacie "tekst normalny", próbuję metoda Spring w postman i działa świetnie, gdy wysyłam dane w formacie json.

fetch java javascript spring
2021-11-22 16:48:10
2

Najlepsza odpowiedź

1

W kodzie JavaScript trzeba użyć "nagłówki" zamiast "nagłówek". Zobacz dokumentację API próbka: https://developer.mozilla.org/en-US/docs/Web/API/fetch

2021-11-22 17:18:18
0
step 1 : add @CrossOrigin after @PostMapping(value = "petForm/{id}/pets")

like : 



@PostMapping(value = "petForm/{id}/pets")
    @CrossOrigin
    public ResponseEntity<String> createPet(@PathVariable("id") String ownerId, @RequestBody Map<String, Object> data){
        System.out.println(data);
        return ResponseEntity.ok().build();
    }


step 2 : add double quotes to help word
 it is not  json fromat :====>    help: "helpme" 
Correct : 
      it is not  json fromat :====>    "help": "helpme" 
2021-11-22 19:10:50

Jak to teraz jest napisane, że odpowiedź jest niejasna. Proszę, edytuj, aby dodać więcej informacji, które pomogą ludziom zrozumieć, jak to odpowiada na zadane pytanie. Można znaleźć bardziej szczegółowe informacje o tym, jak pisać dobre odpowiedzi, w centrum pomocy.
Community

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................