0
我一直有一個問題,整天通過ajax發送JSON數據到Express。 我的AJAX看起來是這樣的:意外令牌U Ajax語法錯誤
$('#saveClause').click(function() {
var username = document.getElementById('postUserName').innerHTML;
var clauseTitle = document.getElementById('modalTitle').innerHTML;
var clauseDescription = document.getElementById('modalDescription').innerHTML;
var clauseText = document.getElementById('modalText').innerHTML;
$.ajax({
url: "/classes/updateAssignment",
type: "post",
dataType: "json",
data: {
username: username,
title: clauseTitle,
description: clauseDescription,
text: clauseText
},
cache: false,
contentType: "application/json",
complete: function() {
console.log("complete");
},
success: function() {
console.log("success");
},
error: function() {
console.log("Process Error");
}
});
});
和我的快遞類的路線是這樣的:
router.post('/updateAssignment', function (req, res) {
console.log(req.body.username)
console.log(req.body.title);
console.log(req.body.description);
console.log(req.body.text);
res.type('json');
res.send({
some: JSON.stringify({
response: 'json'
})
});
});
我發出了郵遞員POST請求的URL與此JSON對象:
{
"username":"testing",
"title":"123",
"description":"j456",
"text":"seven"
}
和Express記錄了控制檯中的所有細節,所以它必須是我的ajax請求的問題,因爲它給了我一個意外的令牌u錯誤,但我不知道是什麼原因造成的它。有任何想法嗎?
視圖是用快速呈現嗎?如果沒有,你必須指定完整的URL int he ajax字段(即:localhost:PORT/classes/updateAssignment /)並允許cors。另外,你可以複製粘貼你正在得到的確切的錯誤? – ThomasK
Thew views are express with express, 這是我得到的確切錯誤: SyntaxError:意外的令牌ü 在解析(L:\ CSSE \ SPUR2017 \ authentication \ node_modules \ body-parser \ lib \ types \ json .js:83:15)等。 – MrShedford
好的,這是一個節點錯誤。解析器無法解析你的身體。阿賈克斯看起來很好。你有沒有添加適當的json解析到你的中間件?在使用郵遞員時,你發送了什麼標題? – ThomasK