NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
alex
Člen
Avatar
alex:21.8.2016 13:38

ahoj , snazim sa poslat formu na server

Pouzivam

  <form method="post" action="/data" onsubmit="return postData()" enctype="application/x-www-form-urlencoded">
      <input type="password" name="passwd" placeholder="Password">
      <input type="text" name ="name" placeholder="UserName">
      <input type="submit" value="Submit"/>
  </form>

<script>
function postData(e){
    var form   = document.querySelector("form");
    var inputs = form.querySelectorAll('input');
    var data   = {}
          Array.prototype.forEach.call( inputs , function(x){
            if( x.type != 'submit')
                data[x.name] = x.value;
          })

    console.log(form.action, JSON.stringify(data))
    var req = new XMLHttpRequest();
    req.open('POST' , form.action , true);
    req.setRequestHeader("content-type", "text/json");
    req.send(data);
    return false;
}

</script>

a na severy

var express = require("express");
var app     = express();
var bodyParser = require('body-parser');

app.use(bodyParser.json()); // for parsing application/json



app.get('/' , function( req, res ){
        res.sendfile("index.html");
})


app.post('/data',function( req , res){
        console.log('got data asdd', req.body)
})
app.listen(8080)

avsak vzdy vypise req.body ako prazdny object.

Taktiez som skusal posielat bez ajaku tj

 <form method="post" action="/data"  enctype="application/x-www-form-urlencoded">
    <input type="password" name="passwd" placeholder="Password">
    <input type="text" name ="name" placeholder="UserName">
    <input type="submit" value="Submit"/>
</form>

ale robi to to iste , vie mi dakto poradit co je s tym? Dik

 
Odpovědět
21.8.2016 13:38
Avatar
Odpovídá na alex
Neaktivní uživatel:21.8.2016 15:15

Uprav si jen na zkoušku kód na serveru abys logoval ten objekt zvlášť. Když dáš v js console.log text + objekt neprovede se ti na ten objekt dir ... Neříkám, že to hned vyřeší problém, ale jen taková poznamka co zjednoduší život.

Nahoru Odpovědět
21.8.2016 15:15
Neaktivní uživatelský účet
Avatar
Petr Štechmüller:21.8.2016 15:43

Ahoj, v serveru, kde používáš bodyparser na json, přidej ještě tuto řádku:

app.use(bodyParser.urlencoded({extended: true}));
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
21.8.2016 15:43
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.