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

203

    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. Natomaa hyökkäsi Iraniin

      Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu
      NATO
      719
      3074
    2. Trump aloitti III maailmansodan tänään.

      Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?
      Maailman menoa
      362
      2772
    3. Suvi Lindenillä 5 366 päivän putki

      Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o
      Maailman menoa
      62
      2556
    4. Mistä se kertoo

      Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä
      Ikävä
      31
      2477
    5. Rakas tiedät, että toivoisin

      Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja
      Ikävä
      58
      2038
    6. Nyt on sanottava että sattuu kipeästi

      Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu
      Ikävä
      18
      1559
    7. Viesti miehelle

      Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise
      Ikävä
      12
      1552
    8. Eräs on taas viettänyt kokoyön täällä!!

      Etkö sä nuku koskaan??
      Ikävä
      49
      1529
    9. Miksi rakastuit

      Kaivattuusi?
      Ikävä
      77
      1514
    10. Teit asiat lopulta niin

      Ettei meillä ole ikinä mitään mahdollisuuksia toisiimme.
      Ikävä
      57
      1439
    Aihe