Java týden Body zdarma
Využij podzimních slev a získej od nás až 40 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!

Diskuze: predavanie parametrov, javascriptu v url

Aktivity (2)
Avatar
3012
Člen
Avatar
3012:7. července 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. července 16:56
Avatar
Martin Havelka
Redaktor
Avatar
Odpovídá na 3012
Martin Havelka:7. července 17:13

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

 
Nahoru Odpovědět 7. července 17:13
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:7. července 18:12

ahoj mislim klienta

 
Nahoru Odpovědět 7. července 18:12
Avatar
Martin Havelka
Redaktor
Avatar
Odpovídá na 3012
Martin Havelka:7. července 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  +2 7. července 18:50
Avatar
Martin Havelka
Redaktor
Avatar
Odpovídá na 3012
Martin Havelka:7. července 18:53

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

 
Nahoru Odpovědět 7. července 18:53
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Samuel Kodytek
Šéfredaktor
Avatar
Samuel Kodytek:7. července 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. července 19:06
Nahoru Odpovědět  +1 7. července 19:04
There is more than one way to screw it
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:7. července 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. července 20:36
Avatar
Martin Havelka
Redaktor
Avatar
Odpovídá na 3012
Martin Havelka:7. července 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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 7. července 22:07
Avatar
3012
Člen
Avatar
Odpovídá na Martin Havelka
3012:8. července 0:07

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

 
Nahoru Odpovědět 8. července 0:07
Avatar
Martin Havelka
Redaktor
Avatar
Odpovídá na 3012
Martin Havelka:8. července 8:06

Nemáš za co :-)

 
Nahoru Odpovědět 8. července 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.