2017-05-14 9 views
1

クライアントからサーバー(ノードjs)にデータを送信しようとしています。私はajaxを使用しています。ノードjsポストajaxリクエストからデータを読み取るには?

クライアント:

$("#test_button").on("click",function(){ 
    //alert("shit"); 
    $.ajax(
     {url: "http://localhost:4000/ajax_check", 
     async: false, 
     type: "POST", 
     data: "{user:balayya,password:hero}", 
     success: function(result){ 
      alert("hooli"); 
     }}); 
}); 

サーバー:

var app = require('express')(); 
var express = require('express'); 
var http = require('http').Server(app); 


http.listen(process.env.PORT || 4000, function() { 
    console.log('listening on *:4000'); 
}); 

app.use(express.static('publuc')); 

app.get('/', function(req, res) { 
    console.log("new entry page serving"); 
    res.sendFile(__dirname + '/main.html'); 
}); 

app.post('/ajax_check', function(req, res){ 
    console.log("someone came in here"); 
    console.log(req.query.data); 
}); 

にconsole.log()は、 "未定義" として印刷されます。 ポスト要求を受信するための正しい方法は何であり、それはこのようにしてみノードのjs

+0

これにボディパーサーを追加するには、働いていました。 – BloomBlack

+0

これがあなたの解決策であれば、答えの下のチェックマークをクリックする必要があります。これは、将来この質問に遭遇する他の人を助けるでしょう。 – Adam

答えて

0

に、クライアントからのデータです:

:対応するパラメータ値を読み出すために

$.ajax({ 
    url: "http://localhost:4000/ajax_check", 
    type: "POST", 
    data: { 
     user: "balayya", 
     password: "hero" 
    }, 
    success: function(result) { 
     alert("hooli"); 
    } 
}); 

とサーバーの使用req.body.param_name

app.post('/ajax_check', function(req, res){ 
    console.log("someone came in here"); 
    console.log(req.body.user); 
    console.log(req.body.password); 
}); 

また、誰かがこのプロパティをfalseに設定するたびに、悪い子猫が死ぬため、AJAXリクエストからasync: falseを削除したことに気付きます。

+0

これにbody-parserを追加しました。ありがとう。私は貧しい子猫を殺すつもりはないと約束します。 – BloomBlack

関連する問題