Ajaxove volanie vo vanilla JS

před 15 dny

MKI-Miro
Člen | 173
+
0
-

Ahojte

Co robim zle pri volani:

function search(searchValue) {
  console.log(searchValue);
  if (searchValue.length > 2) {
    var searchLoading = document.getElementById('search-loading');
    searchLoading.style.display = 'block';

    var formData = new FormData();
    formData.append("search", searchValue);
    formData.append("do", "GetSearchProducts");

    fetch('/online/get-search-products', {
      method: 'POST', // *GET, POST, PUT, DELETE, etc.
      mode: 'same-origin', // no-cors, *cors, same-origin
      cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
      credentials: 'same-origin', // include, *same-origin, omit
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
      },
      body: formData
    })
      .then(function (response) {
        console.log(response);
        searchLoading.style.display = 'none';
      })
  }
}

dostanem odpoved

?_tracy_bar=js&v=2.7…_SESSION_STOP=1:507 POST http://mania/online/get-search-products 404 (Not Found)
vanilla.js?v=5:116
Response {type: "basic", url: "http://mania/online/get-search-products", redirected: false, status: 404, ok: false, …}
body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 404
statusText: "Not Found"
type: "basic"
url: "http://mania/online/get-search-products"
__proto__: Response

dakujem

před 13 dny

dms
Člen | 27
+
0
-

Ahoj

formData.append("do", "GetSearchProducts");

tohle se snaží spustit metodu handleGetSearchProducts()

fetch('/online/get-search-products',

tohle pak odkazuje na OnlinePresenter->actionGetSearchProducts() (za předpokladu výchozích nastavení rout).
Asi by se mělo použít jenom jedno řešení. Je jedno jestli přes akci nebo handle. Vynechej to formData.append(“do”, “GetSearchProducts”) a spustí se ti funkce actionGetSearchProducts()