html form submit / Uudelleenohjaus JavaScrptillä, miten ?

Web-Koodaaja

Helpoin tapa olisi varmaan tämä:

www2.organisaatio.fi = dyndns -domain, joka ohjataan kulloisellekin dynaamisella IP -osoitteella olevalle palvelimelle.

MUTTA: Tämän ratkaisun huono puoli on se, että jotkut dns cache -palvelimet eivät kunnioita esim. 5 minuutin vanhenemisaikaa,
jolloin palvelimen IP -osoitteen muutos voi aiheuttaa pidemmänkin,kuin 5 minuutin katkoksen !

Mutta olisiko jotenkin mahdollista hoitaa homma sensijaan näin ?

html form:in submit -nappi laitetaankin suorittamaan javascript -funktio selaimessa.

Tämä javasrcipt -funktio tekisi jotakin tämäntapaista:

finalhandlerURL = GetUrl("www.organisaatio.fi/cgi-bin/get_final_URL?FormID=001");

// funktio GetUrl kutsuu organisaation kiinteällä IP:llä olevaa palvelinta,ja
// siellä esim. PHP -skriptiä get_final_URL, joka palauttaa yhden rivin mittaisen tekstitiedoston (ilman rivinvaihtomerkkiä)
// joka sisältää: http://162.251.137.186/cgi-bin/formhandler.cgi

// nyt muuttujan finalhandlerURL arvo on esim: "http://162.251.137.186/cgi-bin/formhandler.cgi"


// Seuraavaksi pitäisi kutsua alkuperäisen html form:in käsittelijää, jonka URL on muuttujassa finalhandlerURL, MITEN ?

Eli kysymykset:

1. Miten tehdään JavaScript -funktio, joka hakee määritellyltä palvelimelta yhden rivin tekstitiedoston (ilman rivinvaihtomerkkiä)
ja palauttaa ko. yksirivisen tekstitiedoston sisällön merkkijonomuuttujassa ?

2. Miten voi, jos html -koodissa on määritelty formin submit -nappi kutsumaan javascript -funktiota, niin
miten ko. javascript -funktiosta saa ohjattua formin käsittelyn URL:iin, joka on annettu merkkijonomuuttujassa,
siis siten, että varsinainen URL on merkkijonomuuttujassa, ja selain automaattisesti lisää
ko. URL:in perään esimerkiksi ?Nimi=Kalle&Puhelin=040123456&Salasana=123456 ?

Oletetaan, että html form:illa on tässä esimerkkitapauksessa input -tekstikentät:

Nimi
Puhelin

JA

Salasana

JA että Salasana -kenttä on määritelty password -määreellä, jolloin sen sisältö näytetään esim. tähdillä todellisen sisällön sijasta.

Voiko javascriptillä tehdä tällaista, ja jos, niin miten ?

MOTIIVI:

Organisaatiolla on 2 palvelinta:

www.organisaatio.fi Tämä palvelin on kiinteällä julkisella IP -osoitteella, mutta koska kyse on vuokrattu web -hotelli, niin
on olemassa rajoituksia siinä, minkä tyyppistä koodia voi suorittaa.
Usein esim. niin, että voidaan suorittaa VAIN PHP ja PYTHON -skriptejä, mutta esim. binääriohjelmien ajo on kielletty tai estetty.

www2.organisaatio.fi Tämä palvelin on julkisella, mutta dynaamisesti vaihtuvalla IP -osoitteella tyypillisen laajakaistaliittymän takana, jolloin
sen IP -osoite voi vaihtua koska tahansa, kun laajakaistaliittymän yhteydentarjoaja niin päättää.
Tämän voi toki määritellä esim. dyndns -palvelimeen, mutta jos esim. vanhenemisajaksi laitetaan 5 minuuttia, tästä seuraa 2 haittaa:

1) Kun IP -osoite vaihtuu, tämä palvelin on joka tapauksessa saavuttamattomissa 5 min IP:n muuttumisesta

2) JOS jokin muu dns -palvelin välimuistittaa dyndns -palvelimen vastauksen, niin kaikki tällaiset välimuistittajat
EIVÄT välttämättä kunnioita asetettua 5 min aikaa, vaan saattavat siitä huolimatta välimuistittaa
nyt vanhentunutta IP -osoitetta esim tunnin tai jopa vuorokauden verran.
Tällöin tämä palvelin on saavuttamattomissa esim. tunnin tai jopa vuorokauden !

Tarkoituksena siis olisi, että aina käyttäjän painaessa selaimessaan html formin submit -nappia, niin
silloin käyttäjän selaimessa suoritettava javascript -koodinpätkä aina
hakisi www2.organisaatio.fi:n IP -osoitteen www.organisaatio.fi -palvelimella pyörivältä PHP -skriptiltä,
jonka oletetaan AINA sisältävän ajan tasalla olevan tiedon www2.organisaatio.fi:n IP -osoitteesta.

1

205

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 1 + 1 < 3

      Mitä ihmettä olet tekemässä? Kysymyksestäsi ei saa tolkkua. Jos nimipalvelun kanssa on ongelmia, niin ei jokin lomakkeen lähetyksen uudelleenohjaus javascriptillä ole ratkaisu, ei edes tilapäisratkaisun yrityksen jäljitelmän alfaversio.

      Olisi kannattanut aloittaa kertomalla ongelma, jota olet ratkaisemassa. Tuon sekavan sepustuksen jälkeen ketään tuskin enää kiinnostaisi, vaikka näkisi järkevän ongelmakuvauksen.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      21
      10865
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      40
      8117
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      123
      5211
    4. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      131
      3593
    5. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3548
    6. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      35
      3504
    7. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      3147
    8. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      55
      2489
    9. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      35
      1981
    10. Miltä mahtaa tuntua

      Sitten kun näet hänet pitkästä aikaa?
      Tunteet
      28
      1766
    Aihe