Dodawanie produktów przez żądanie AJAX

0

Tworzę apkę w react i php, trzymam php na https://pl.000webhost.com/, pobieranie mi działa, jednak kiedy chcę dodać dane mam błąd method not allowed, oto link do strony https://krystianwojtowicz.github.io/reactphp/ i kodu https://github.com/krystianwojtowicz/reactphp ,w folderze db-react-php-main mam pliki jakie trzymam na stronie z bazą danych, jak naprawić ten błąd?

1

header('Access-Control-Allow-Methods: POST, X-Requested-With');

X-Requested-With chyba nie powinno się tu znaleźć

Edit:
https://stackoverflow.com/a/8719346/10254338

Access-Control-Allow-Headers does not allow * as accepted value, see the Mozilla Documentation here (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers).

0

Zmieniłem methods i headers ale dalej to samo

1
mistrzkrisu6 napisał(a):

Tworzę apkę w react i php, trzymam php na https://pl.000webhost.com/, pobieranie mi działa, jednak kiedy chcę dodać dane mam błąd method not allowed, oto link do strony https://krystianwojtowicz.github.io/reactphp/ i kodu https://github.com/krystianwojtowicz/reactphp ,w folderze db-react-php-main mam pliki jakie trzymam na stronie z bazą danych, jak naprawić ten błąd?

Dostajesz status code 405 Method not allowed, dlatego że (uwaga): strzelasz pod endpoint z niedozwoloną metodą. Czyli błąd jest całkowicie adekwatny, pod endpoint który strzelasz po prostu nie można strzelić z POST. Endpoint https://krystianwojtowicz.github.io/reactphp/ służy do serwowania frontu (czyli zwrócenie .html oraz .js z reactem), a więc obsługuje tylko GET i nic innego.

Odpowiedź na pytanie "jak naprawić ten błąd" brzmi "nie naprawić", bo 405ka leci tak jak ma lecieć.

Prawdziwe pytanie powinno brzmieć, na jaki endpoint powinienem strzelić żeby dodać item - i tym endpointem w Twoim przypadku jest https://scandi-php.000webhostapp.com/. Pod ten endpoint zrób POST, a nie pod reactphp/.

0

zmieniłem endpoint i dalej jest to samo

1
mistrzkrisu6 napisał(a):

zmieniłem endpoint i dalej jest to samo

No ja widzę że na stronie https://krystianwojtowicz.github.io/reactphp/ jak kliknę "save", not nadal request leci pod reactphp

0
Riddle napisał(a):
mistrzkrisu6 napisał(a):

zmieniłem endpoint i dalej jest to samo

No ja widzę że na stronie https://krystianwojtowicz.github.io/reactphp/ jak kliknę "save", not nadal request leci pod reactphp

wtedy mam Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR

0
mistrzkrisu6 napisał(a):
Riddle napisał(a):
mistrzkrisu6 napisał(a):

zmieniłem endpoint i dalej jest to samo

No ja widzę że na stronie https://krystianwojtowicz.github.io/reactphp/ jak kliknę "save", not nadal request leci pod reactphp

wtedy mam Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR

Nie wiem czy zmieniasz kod, i nie wrzucasz go potem na server, ale chodzi o ten kod:

const sku = inputs.sku;
const name = inputs.name;
const price = inputs.price;
const size = inputs.size;
// axios.post("http://localhost/reactphp/api/index.php", inputs);
const rawResponse = await fetch(
  "https://scandi-php.000webhostapp.com/",
  // "https://krystianwojtowicz.github.io/reactphp/",
  // "http://localhost/reactphp/api/index.php",
  {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ sku, name, price, size }),
  }
  // "https://cors-anywhere.000webhostapp.com/https://scandi-php.000webhostapp.com/",
  // headers
)
  // const content = await rawResponse.json();
  // console.log(content);
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error);
  });
// console.log(inputs);
};

Tutaj strzelasz POST pod "https://scandi-php.000webhostapp.com/", i tak powinno być. Jak wchodzę na stronę https://krystianwojtowicz.github.io/reactphp/, i klikam Save, to widzę żę nadal strzelasz pod reactphp/.

0

gdzie na stronie mogę zobaczyć pod co strzelam?

1
mistrzkrisu6 napisał(a):

gdzie na stronie mogę zobaczyć pod co strzelam?

Otwórz narzędzia developerskie i wybierz "Network":

screenshot-20230128133655.png

0

zrobiłem deploy ponownie i dalej to samo

0
mistrzkrisu6 napisał(a):

zrobiłem deploy ponownie i dalej to samo

Nie mów że dalej, to samo bo widzę że nie to samo.

Wcześniej, miałeś status code - 405 Method not allowed. Teraz już nie masz tego status code'u, tylko jest inny błąd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1