編輯請參閱下面爲該修復程序接受的答案。我還必須從我的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)
- 分割字符串到一個數組在客戶端上,然後將具有jQuery的字符串化它
- 尋找req.params代替req.body(在吸管抓着)
我可以看到在開發工具的XHR請求,它包含我期待的字符串。
我錯過了什麼超級明顯的東西發送數據到Express?
謝謝。
你有'連接在你的頁面中運行的中間件? –
我沒有,但我有jQuery數據職位在應用程序的其他地方成功運行。 –