我尝试将以下jquery代码翻译为使用fetch API。它发出PUT
请求:
function save () {
$.ajax('/{{user.username}}', {
method: 'PUT',
data: {
street: $('#street').val(),
city: $('#city').val(),
state: $('#state').val(),
zip: $('#zip').val()
},
complete: function () {
cancel()
location.reload()
}
})
}
这是获取API请求:
fetch('/{{user.username}}', {
method: 'PUT',
headers: {
'Content-Type': 'application.json'
},
body: JSON.stringify({
street: document.getElementById("street").value,
city: document.getElementById("city").value,
state: document.getElementById("state").value,
zip: document.getElementById("zip").value
})
}).then(() => {
cancel()
location.reload()
})
}
当我console.log
到节点终端时,我得到一个空数组。
我正在尝试使用以下内容在Express中处理它:
app.put('/:username', function (req, res) {
console.log(req.body)
console.log("hello")
var username = req.params.username
var user = getUser(username)
user.location = req.body
saveUser(username, user)
res.end()
})
答案 0 :(得分:0)
我假设您在Express中使用bodyParser,否则jQuery版本将无效。
headers: {
'Content-Type': 'application.json'
},
应该是
headers: {
'Content-Type': 'application/json'
},