0
我的快遞服務器,deliverCard()
方法提供了一些鍵/值對。爲什麼我的POST請求觸發表達得到
app.get('/', (req, res) => {
let card = deck.deliverCard();
console.log('get', card)
res.render('layout.ejs', {element:card});
});
app.post('/', (req, res) => {
let card = deck.deliverCard();
console.log('post', card);
res.json(card);
});
的XMLHttpRequest
:
function updateCard(value) {
let request = new XMLHttpRequest();
let params = JSON.stringify({learned: value});
request.onreadystatechange =() => {
if (request.readyState === 4 && request.status === 200) {
// Do a thing.
} else {
console.log('Status ' + request.status + ' text: ' + request.responseText);
}
}
request.open('POST', '/', true);
request.setRequestHeader('Content-type', 'application/json');
request.send(params);
}
close.addEventListener('click', function() {
value = checkbox[0].checked;
updateCard(value);
});
我從請求找回正確的請求體,但由於某些原因,在服務器端,則get回調函數被調用。
啓動和初始頁面加載:
app listening on port 3000!
get { name: 'div',
description: 'Defines a generic block of content, that does not carry any semantic value. Used for layout elements like containers.' }
在請求:
post { name: 'meter', description: 'Defines a horizontal meter.' }
get { name: 'progress', description: 'Defines a progress bar.' }
這是因爲如果頁面被接收到所述響應之後再填裝。
您應該考慮使用[摩根(https://github.com/expressjs/morgan)爲您的要求作爲一個記錄器,它在開發中有非常有用的信息,例如方法,路由,狀態碼,響應大小 –