AJAX send() egyszerre csak 1 változót küld el
2019-10-09T14:23:21+02:00
2019-10-09T15:35:15+02:00
2022-08-11T15:15:31+02:00
Tanyó Péter
Sziasztok!

Olyan gondom van, hogy csak 1 adatot tudok elküldeni az adatbázisba viszont én mind a 3 adatot szeretném elküldeni úgy, hogy az SQL-ben is 1 sorban jelenjen meg.

Az utolsó 3 sor (ebből 2 kommenntelve) mutatja mit szeretnék átküldeni a mySqlInsert.php fájlnak.
Gyakorlatilag a megadott send() parancsok egyenként működnek, ha már 2-t vagy mind a 3-at akkor csak az első értéket küldi be, a többit nem.

Próbáltam for megoldással is(kommentelve az is a kódba), hátha úgy átküld, de nem megy.

Próbáltam egy send()-en belül megadni mind a 3-om adatot, de akkor mindig arra jutottam,
    - hogy vagy elküldi az összes adatot de akkor az adatbázis ugyan abba a sorába fűzi őket össze
    - vagy nem küldött adatot/hiba volt

Init()-tel frissítem az oldalon az adatoka, SELECT lekérdezéssel ami szintén működik, de az elkuld() funkció send() része nem akar összeállni.

Elég sokat olvasgattam a send() POST után, hogy mint lehetne kivitelezni, de nem találtam olyat amivel hasonlóképpen több adatot be lehetne küldeni.

Nem feltétlenül ragaszkodom, a mellékelt formához/megoldáshoz. Ha van jobb módja, akkor azt is szívesen fogadom.

A segítséget, öttleteket előre is köszönöm!
Péter
Mutasd a teljes hozzászólást!
Csatolt állomány
&-jellel kell összefűzni őket.
Vagy lábbalhajtósan, kézzel (ahogy amúgy a dokumentációban lévő példa is mutatja: XMLHttpRequest.send() ):

xhttp.send("customerId="+document.getElementById("customerId").value +"&controlledPartNumber="+document.getElementById("controlledPartNumber").value +"&controlledPartQty="+document.getElementById("controlledPartQty").value);
Vagy van rá csodaobjektum: URLSearchParams , ehhez már biztosan a ciklusos megoldásodból lopok:
var params=new URLSearchParams(); var elemek = ["customerId","controlledPartNumber","controlledPartQty"]; for (i = 0; i < elemek.length; i++) { params.set(elemek[i],document.getElementById(elemek[i]).value); } xhttp.send(params);
Mutasd a teljes hozzászólást!

  • Előszőr is köszönöm!!!
    Mind a két megoldással futattam. Az elsővel emlékeim szerint próbálkoztam is már, de nyilván valamit elgépeltem, mert nem a jó eredményt kaptam.
    Mondjuk mindenre kerestem csak így erre nem (XMLHttpRequest-re nem). Nagy hiba volt. Még egyszer köszönöm!!!
    Üdv
    Mutasd a teljes hozzászólást!
abcd