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

240

    Vastaukset 1

    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. Olivia Oras

      "Yle MOT:n tietojen mukaan Oras oli joutunut sairaalahoitoon helsinkiläisellä kauneusklinikalla tehdyn rasvaimun yhteyde
      Kotimaiset julkkisjuorut
      155
      2137
    2. MOT: Nuoren Olivia Oraksen, 27 surullinen kuolema kauneusoperaatiossa :(

      MOT:n tietojen mukaan Oras menetti tajuntansa rasvaimua edeltäneessä puudutuksessa. Hänet kuljetettiin Husiin, ja hän ku
      Maailman menoa
      130
      1215
    3. Sanoppa ihan rohkeasti

      Mun huonot puolet! En suutu…
      Ikävä
      139
      1156
    4. Koska muru nähdään

      Kaksin?
      Ikävä
      47
      981
    5. Haluatko että unohdan sinut kokonaan

      Siihen suuntaan ollaan menossa, nyt jo. Ja ehkä parempi näin, niin ei kulu energiaa hukkaan mahdottomuuteen. Ja vaikka j
      Ikävä
      72
      958
    6. Minä vuonna kaivittusi on syntynyt?

      Vastausta tässä kaivataan.
      Ikävä
      59
      899
    7. Pelkäätkö häntä?

      👍
      Ikävä
      77
      732
    8. Millä nimellä

      kutsut kaivattuasi omassa mielessäsi?
      Ikävä
      38
      727
    9. Olit mulle tärkeä...

      😭
      Ikävä
      34
      697
    10. Ylen typerät rinnastukset.

      Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan
      Maailman menoa
      245
      674
    Aihe