0
我想使用AJAX發送簡單的表單數據到節點/快遞服務器。提交時,我被帶到一個無法POST /頁面,而我能夠console.log一個請求,它不包括表單中的數據。我錯過了什麼?訪問節點服務器上的發佈數據?
形式
<form method="POST" class="form-group">
<label for="sentenceCount">Sentences</label>
<input type="number" placeholder="10" name="sentence count" id="sentenceCount" class="form-control parameters">
<button type="submit" id="submit" class="btn btn-primary mt-1">Submit</button>
</form>
AJAX請求 $( '按鈕')。在( '點擊',功能(數據){
$.ajax({
data: data,
url: '/data',
type: "POST"
})
}
)
Server.js
var express = require('express');
var app = express();
app.listen(8000)
app.get('/', function (req, res) {
res.sendFile('/Index.html', {
root: __dirname
})
});
app.post('/data', function (req, res) {
console.log(req)
})
更新:
我已經弄清楚了,並且能夠訪問一個body屬性,但是body是空的,並且無法獲得我需要的輸入值。
AJAX:
$('button').on('click', function(data) {
var formData = $('input').val();
console.log(formData)
$.ajax({
data: formData,
url: '/data',
type: "post"
})
}
)
服務器:
app.get('/', function (req, res) {
res.sendFile('/Index.html', {
root: __dirname
})
});
app.use(bodyParser.json())
app.post('/data', function(req, res) {
console.log(req.body)
});
感謝。 幾個問題: 爲什麼你使用app.get()表單是一個post請求?當我使用.get時,不會記錄任何內容,但會發布它。 但是,帖子上的內容是空的。任何想法爲什麼數據沒有通過? –
1.修復get/post問題。 2.表單數據不是有效的JSON。 –