Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
3012
Člen
Avatar
3012:7.7.2019 16:56

Dobrý deň, potreboval by som sa opítať, či je možne JavaScriptu predavať parametre v url podobne ako v PHP, a ak áno tak som vás chcel požiadať o ukážku ako mu môžem predať viac ako jeden parameter. ďakujem za kazdu odpoveď.

 
Odpovědět
7.7.2019 16:56
Avatar
Odpovídá na 3012
Martin Havelka:7.7.2019 17:13

Ahoj, myslíš javascript na serveru, nebo u klienta?

 
Nahoru Odpovědět
7.7.2019 17:13
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:7.7.2019 18:12

ahoj mislim klienta

 
Nahoru Odpovědět
7.7.2019 18:12
Avatar
Odpovídá na 3012
Martin Havelka:7.7.2019 18:50
// Assuming "?post=1234&action=edit"

var urlParams = new URLSearchParams(window.location.search);

console.log(urlParams.has('post')); // true
console.log(urlParams.get('action')); // "edit"
console.log(urlParams.getAll('action')); // ["edit"]
console.log(urlParams.toString()); // "?post=1234&action=edit"
console.log(urlParams.append('active', '1')); // "?post=1234&action=edit&active=1"

https://davidwalsh.name/…g-javascript

Druhý odkaz na google :-P

 
Nahoru Odpovědět
7.7.2019 18:50
Avatar
Odpovídá na 3012
Martin Havelka:7.7.2019 18:53

A mYslím se píše s Y....pro příště ;-) :-)

 
Nahoru Odpovědět
7.7.2019 18:53
Avatar
Samuel Kodytek
Tvůrce
Avatar
Samuel Kodytek:7.7.2019 19:04

Ahoj,
Co mě tak napadá z hlavy existují 4 způsoby:

Jquery (externí knihovna):

$.get( "test.cgi", { name: "John", time: "2pm" } )
  .done(function( data ) {
    //Request se povedl
  });

Axios (externí knihovna):

axios.get('/test.cgi', {
    params: {
      name: "John",
      time: "2pm"
    }
  })
  .then(function (response) {
    //Request se povedl
  });

Pokud nemáš axios nebo jquery tak nově existuje i Fetch API, který je zabudovaný v JSku (takže není potřeb stahovat žádnou knihovnu).

fetch("test.cgi?name=John&time=2pm", {
  method: 'POST', // or 'PUT'
})
.then(response => {/* Request se povedl */});

XMLHttpRequest - Ten je nejstarší a je taky zabudovaný v JSku... example zde.

Osobně na projektech kde nemám Jquery, používám zatím Axios, jelikož Fetch API je pár měsiců nový (když beru stable release). Jak je podporovaný mezi ostatními prohlížeči můžeš nalézt zde.

EDIT: Špatně jsem asi pochopil otázku, sorry :D

Editováno 7.7.2019 19:06
Nahoru Odpovědět
7.7.2019 19:04
There is more than one way to screw it
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:7.7.2019 20:36

ahoj, na internete som nasiel podobne riesenie, avšak, uplne som ho nepochopil a tak som písal sem, mohol by si mi prosim ukazať ako to aplikujem na tento kod:

<html>
<head>
</head>
<body>
<script>

var a
var b
var c
var d = a + b + c

document.write(d)


</script>
</body>
</html>

v url, potrebujem predat app parametre a, b, c a nsledne ich scitať a zobraziť v d.
mohol by si mi napísat ako bude vizerať url pri predavaní týchto parametrov a nacitam premetre do premenních a, b a c?

ďakujem

 
Nahoru Odpovědět
7.7.2019 20:36
Avatar
Odpovídá na 3012
Martin Havelka:7.7.2019 22:07

Bohužel teď nejsem u pc, ale mělo by to vypadat nějak takto:
Url:

Serveradress.com/podstránka?parametr1=hodnota&parametr2=hodnota&parametr3=hodnota

(Místo parametr1... dosadíš jména proměnných)

A potom v javascriptu jejich hodnotu najdeš normálně jak jsme uváděli nahoře podle názvů proměnných.

let urlParams = new URLSearchParams(window.location.search);
let a = urlParams.get('názevParametru');

Jinak pokud by ti to nešlo, tak ti to zítra pošlu celé, nebo si něco přečti o "query string". V HTML obecně se to dost používá ať už to pak čteš javascriptem, php nebo čímkoli jiným.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
7.7.2019 22:07
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:8.7.2019 0:07

veľmi ti ďakujem, presne toto som potreboval, už všetko beží ako má

 
Nahoru Odpovědět
8.7.2019 0:07
Avatar
Odpovídá na 3012
Martin Havelka:8.7.2019 8:06

Nemáš za co :-)

 
Nahoru Odpovědět
8.7.2019 8:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.