• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Metoda GET - dwa pliki

Object Storage Arubacloud
0 głosów
189 wizyt
pytanie zadane 23 kwietnia 2016 w PHP przez niezalogowany
Witam, co mam zrobić aby zmienna 'nazwa', przesyłana metodą GET również została przesłana do pliku: wynik2.php Korzystam z technologii AJAX i niestety nie ma w tych plikach zmiennej 'nazwa'.

<a href="imiona.php?nazwa="kamil">Kliknij</a>

1 odpowiedź

0 głosów
odpowiedź 25 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)

Masz błąd składni. Nie potrzebny quote zaraz po znaku równości.

Lap rozwiązanie:

function sendGetRequest(event) {
    //pobieramy dane z hrefa i je parsujemy regexem
    var href = this.href;
    var regex = /.*imiona\.php\?nazwa=(\w+).*/g;
    var name = regex.exec(href)[1];
    // wysylamy je za pomoca ajaxa, uzyje jquery
    $.get('wynik2.php', {nazwa: name});
}

// uzywamy doma do dodania eventu. element musi posiadac ID uzyte w metodzie 'getElementById'
document.getElementById('a').addEventListener("click", sendGetRequest);

 

1
komentarz 25 kwietnia 2016 przez Comandeer Guru (601,550 p.)

Ło panie… Każdy link implementuje ten sam interfejs, co location i używanie do takich rzeczy regexów to po prostu zbrodnia. 

Wgl jakieś takie to mocno przekombinowane. Do takich rzeczy jest obecnie Beacon API → https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon

komentarz 25 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)

Mógłbyś napisać, jak za pomocą tego interfejsu wyciągasz wartość ze zmiennej 'nazwa'?

Becon API może wydać się lepszy do Jquerowego GETa, ale nie ma supportu dla safari i IE: 
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon#Browser_compatibility

I przepraszam, że się czepiam słownictwa, ale ten błąd za bardzo mnie razi: nie ma takiego skrótu jak 'Wgl'. Ponieważ pisze się rozłącznie 'w' i 'ogóle', czyli 'w ogóle'. Nie bierz tego za bardzo do siebie.

komentarz 25 kwietnia 2016 przez Comandeer Guru (601,550 p.)

Nie bierz tego za bardzo do siebie.

Wgl tego nie biorę do siebie ;) Prawda jest taka, że język potoczny rządzi się swoimi prawami – stąd mamy "wgl" jako bardziej efektywna forma. Podobna sytuacja jest przecież z "nara".

 Mógłbyś napisać, jak za pomocą tego interfejsu wyciągasz wartość ze zmiennej'nazwa'? 

Przez document.querySelector( 'a' ).search dobieram się do całego ?name=kamil i później rozkładam to przy pomocy split – to sposób, który działa wszędzie. Inny sposób, bardziej elegancki, ale znów niedziałający w IE i Safari, to skorzystanie z URLSearchParams, któremu przekazujemy link.search → https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

Becon API może wydać się lepszy do Jquerowego GETa, ale nie ma supportu dla safari i IE: 

A powyżej jest ten sam kod, który robi to w 4 linijkach tam, gdzie nie ma Beacon API. Wciąż o kilkadziesiąt KB mniej niż jQuery ;) 

komentarz 26 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)

Regex wydawał mi się bardziej elegancki niż splitowanie na & potem na =.

querySelector( 'a' ) wydaje mi się mniej bezpieczny niż dodanie id do odpowiedniego <a> i na tej podstawie szukać elementu. Na stronie może być więcej odnośników.

Co do jQuery, oh well: http://i.stack.imgur.com/ssRUr.gif. 

komentarz 26 kwietnia 2016 przez Comandeer Guru (601,550 p.)

Regex wydawał mi się bardziej elegancki niż splitowanie na & potem na =.

split przecież też bierze regex. Zresztą, jak już musisz regexem, to i tak wygodniej pociąć tylko to, co jest w link.search. No i jeśli mamy dostęp do URLSearchParams, to to się robi samo.

querySelector( 'a' ) wydaje mi się mniej bezpieczny niż dodanie id do odpowiedniego <a> i na tej podstawie szukać elementu. Na stronie może być więcej odnośników.

Akurat to był tylko przykład – link można pobrać dowolnie, w zależności od strony.

Podobne pytania

0 głosów
3 odpowiedzi 352 wizyt
pytanie zadane 14 października 2016 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
2 odpowiedzi 316 wizyt
pytanie zadane 21 września 2017 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
+1 głos
2 odpowiedzi 1,034 wizyt
pytanie zadane 11 września 2017 w JavaScript przez Caesar Początkujący (310 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...