修正については、以下の受け入れ可能な回答を参照してください。私はまた私のPOSTリクエストからcontentType: 'appliction/json',
行を削除しなければならなかった。ExpressでJquery POSTデータを受信
Node.js/Expressに文字列を送信しようとしていますが、req.body
はサーバー側では定義されていません。
クライアントのjQuery:
$.post({
traditional: true,
url: '/matches',
contentType: 'appliction/json',
data: viewedProfiles,
dataType: 'json',
success: function(response){
エクスプレス:私が試した
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.post('/matches', isLoggedIn, function(req, res){
console.log(req.body) // this is undefined
var loadedProfiles = []
loadedProfiles.push(req.body.viewedProfiles)
console.log('loadedProfiles')
console.log(loadedProfiles)
:
- は指定していない 'のdataType'
data: JSON.stringify(viewProfiles)
- を設定、クライアント上の配列に文字列を分割した後、私はdevのツールでXHRリクエストを見ることができるjQueryの
- (ストローでクラッチ)の代わりにreq.bodyのreq.paramsを探して
それを文字列化持ちますそれは私が期待している文字列を含んでいます。
私はExpressにデータを送信するために欠けているのは何ですか?
ありがとうございました。
を持っていますかあなたのページで実行中のミドルウェアを接続しますか? –
私はjQueryのデータ投稿がアプリ内の他の場所で正常に実行されているとは限りません。 –