2016-07-04 2 views
0

私が望むのは、ユーザーが送信ボタンをタップすると、メールフィールドがサーバーに送信され、結果が返されます。 DBかどうか)を確認してください。ノードのJSメソッドにフォームの値を送信し、同じページに結果を表示

私のコードは:私は上記のコードからid="mc-form"を削除しない限り

<form id="mc-form" action="http://local_host:8081/ttttt" method="post" enctype="multipart/form-data"> 
    <input type="email" value="" name="dEmail" class="email" id="mc-email" placeholder="type email &amp; hit enter" required=""> 
    <input type="submit" name="subscribe" > 
    <label for="mc-email" class="subscribe-message"></label> 
</form> 

しかし、値がサーバに渡されません。 id="mc-form"を削除すると、操作の結果が表示された新しいページが表示されます。しかし、私は同じページに結果を表示したいだけです。

ノードJSコードを次のように

app.post('/ttttt', function (req,res){ 
    console.log('Came in'); 
    var form = new formidable.IncomingForm(); 

    form.parse(req, function (err, fields, files) { 
     //Store the data from the fields in your data store. 
     //The data store could be a file or database or any other store based 
     //on your application. 
     res.writeHead(200, { 
      'content-type': 'text/plain' 
     }); 
     res.write('received the data:\n\n'); 
     res.end(util.inspect({ 
      fields: fields 

     })); 
    }); 
}); 
+0

ページをリロードしないにはAJAXが必要です – mplungjan

答えて

0

2つの方法があります。あなたがページをレンダリングしているときに、結果のパラメータを渡すことができる場所

1)一つがあります。その後、EJSを介してhtmlでデータを読むことができます。

2)次にjqueryでajax呼び出しを使用して、ページを更新せずにサーバーから応答データを取得できることです。

上記のコードでは、jsonデータが新しい空白ページに返され、何も実行されません。

関連する問題