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

209

    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. Kansalla on oikeus tietää miksi persut pettävät

      Koko kulunut hallituskausi on kysytty persuilta, minkä vuoksi he ovat pettäneet käytännössä jokaisen vaalilupauksen, ain
      Maailman menoa
      60
      7502
    2. Venäjän armeijan evp-upseeri: Armeija surkeassa tilassa, jonka läpäisee kaiken kattava

      valehtelu. Venäläiset alkaneet pohtia julkisesti maan todellisia tappioita. Z-bloggari ja 3. luokan kapteeni (evp.) Mak
      Maailman menoa
      123
      2936
    3. Minkälaisen viestin

      Laittaisit ikävöinnin kohteelle, jos rohkenisit?
      Ikävä
      142
      1776
    4. Kansalla on oikeus tietää mikä on SDP:n talousohjelma jolla maan talous

      saadaan nousuun? Miksi puolue piilottelee sitä, vai eikö sitä ole? Tähän asti olemme vaan saaneet kuulla hallituksen ha
      Maailman menoa
      65
      1649
    5. Ammattiliitto 900 euroa/vuosi - Työttömyyskassa 72 euroa/vuosi

      Ammattiliitosta eroamalla voi säästää jopa 800 euroa vuodessa. Mitä enemmän tienaat, sitä enemmän maksat liitolle. Esim
      Maailman menoa
      115
      1458
    6. Miten voit olla niin tyhmä

      että et tajunnut että sua vedätettiin? Tietäisitpä miten hyvät naurut on saatu. Naiselle
      Tunteet
      167
      1404
    7. Missä vaiheessa

      Päätit irl luovuttaa minun suhteeni?
      Ikävä
      131
      1153
    8. Millaisena uskot

      Kaivattusi kokevan tunteensa?
      Ikävä
      75
      842
    9. Kyriake=Kirkko

      Kirkko, Kyriake Kirkko-sana tulee kreikankielen sanasta Kyriake=Herran omat, Kristuksen omaksi kastettujen suuri joukko
      Kaste
      47
      802
    10. Mitä haluat eniten

      Kaivattusi kanssa?
      Ikävä
      52
      745
    Aihe