[英]How do I parse raw data on request?
我有一個表單,用於使用Ajax將post data
提交到數據庫,如下所示:
function markAsRead(id) {
console.log('Triggered');
$.ajax({
type: 'POST',
url: '/admin/assessment.html',
data: id,
success: function(data) {
if (data.error) {
console.log('We had an error.');
} else if (data.success) {
console.log('Marker updated.');
}
}
})
}
(function() {
var element = document.getElementsByName('markAsRead');
for(var i = 0; i < element.length; i += 1) {
element[i].addEventListener('click', function(e) { e.preventDefault;
markAsRead(this.getAttribute('data-value'));
});
}
})();
我的頁面上有多個錨點,例如:
<a href="#" name="markAsRead" data-value="5135135">Mark As Read</a>
我只是想知道在Node.js
方面,我如何解析該數據,我嘗試過:
var id = req.body.markAsRead;
console.log('Data is ' + id);
但是它只是說不確定的。 關於如何解析此請求數據的任何信息都將非常有用。 謝謝! ( Anchor
不在任何形式內)
首先,您應該使用命名參數或比字符串更結構化的內容從客戶端發布數據。
$.ajax({
type: 'POST',
url: '/admin/assessment.html',
data: { id: id },
success: function(data) {
if (data.error) {
console.log('We had an error.');
} else if (data.success) {
console.log('Marker updated.');
}
}
})
其次,當您在節點側解析req.body時,您正在解析作為請求正文發送的字符串,其中包括您的參數{id:'somevalue'} 。 您可以自己解析它,但是我猜您在支持中間件堆棧的節點的http.Server實現之上使用了express或其他抽象之類的東西。 我建議使用connect bodyParser()中間件,它將將req.body字符串轉換為具有已發布屬性的對象。 這將使您在節點中的請求處理程序中可以使用req.body.id。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.