2016-12-08 9 views
1

以下のコードは、AJAXリクエストを使用してエクスプレスサーバにデータを送信しています。私はいくつかの操作を行うために私の高速サーバー上で送信されたそのデータにアクセスする必要があります。これをやり遂げるにはどうすればいいですか?ExpressサーバでAJAXからデータを取得する

Expressのサーバースニペット:

app.get("/time",function(req,res){ 
    client.messages.create({ 
     to: "+1" + req.data.number, 
     from: '+166**', 
     body: "This is the ship that made the Kessel Run in fourteen parsecs?", 
     mediaUrl: "https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg", 
    }); 
}); 

Ajaxリクエスト:

$.ajax({url: "/time", 
    data : { name : 'Justin', number : '662***' } 
}); 

答えて

1

サーバーでGET変数について話している場合:

app.get("/time",function(req,res){ 
    client.messages.create({ 
     to: "+1" + req.params.number, // should be `req.params` instead 
     from: '+166**', 
     body: "This is the ship that made the Kessel Run in fourteen parsecs?", 
     mediaUrl: "https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg", 
    }); 
    console.log(req.params.name) 
    console.log(req.params.number) 
}); 

あなたが応答を言っている場合サーバーの名前:

$.ajax({ 
    url: "/time", 
    data : { name : 'Justin', number : '662***' } 
}).done(function (response) { 
    console.log(response) 
}); 

私は3回質問を読んだが、何が尋ねられたのか分からなかった。申し訳ありません。

+0

私がしようとしているのは、AJAXリクエストでデータを送信してから、Expressサーバーでアクセスすることです。通常はPHPのように、送信データを取得するために$ _GETを行います。 –

+0

その後、 'req.data'の代わりに' req.params'を使用します( – joaumg

0

Expressにデータを送信する場合は、Ajaxコールで「POST」メソッドを使用する必要があります。その後、あなたが持っているものとちょうど同じルートを持っていますが、app.postです。また、 "投稿"ルートの前に、"body-parser"ミドルウェアを使用する必要があります。単に「ポスト」メソッドを追加し、あなたのAjax呼び出しで

const bodyParser = require('body-parser'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/time', (req, res) => { 
console.log(req.body); // your data here 

}) 

だから、あなたは(私が言っているだけで何について)サーバー上でこのような何かを持っている必要があります。

@joaumgがreq.paramsについて書いていることも正しいと思っていますが、POSTが正しいと思われます。あなたのデータはより安全になります。

+0

app.getは着信要求を受け付けているので、現在エクスプレスサーバで使用しています。 AJAXリクエストが別のファイル内にあります –

+0

私は別のファイルにAJAXリクエストがあることを知っています。私のポイントは:データを送信する、特に機密性の高いデータを送信することです。同じURIへの別のルートだが、「取得」を受け取る。 –

関連する問題