无法弄清楚为什么PUT请求不会更新数据

时间:2019-07-10 18:10:49

标签: javascript jquery node.js httprequest httpresponse

因此,我正在运行具有该数据的express的node.js服务器。最终,我试图通过html页面中的表单提交关闭注释,以更新此数据集中的关闭注释,该数据集目前已硬编码到节点服务器中。

var data = [
{
    inc_num: "INC0001",
    close_notes: "blah"
},
{
    inc_num: "INC0002",
    close_notes: ""
},
]

这是三个后端http请求。

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname + '/index.html'));
});


app.put('/update/:inc_num', (req, res) => {
    delete data.close_notes;
    var body = req.body
    data.close_notes = body.close_notes;
    res.status(200).send('ACK');
});

app.get('/update', (req, res) => {   
    res.send(data);
});

这是前端的AJAX请求

$.ajax({
    url: '/update/' + inc_num,
    type: 'PUT',
    constentType: "application/json",
    data: dataPut,
    success: function(){
        console.log('PUT SUCCESS');
    }

 })

现在的方式没有任何改变。

我知道一个事实,即前端正在发送正确的数据,因为如果我将app.put中的函数更改为data.push(req.body),它将把我传递的正确信息添加到数据数组中。我不是对PUT请求的理解不正确,或者只是在后端PUT请求的功能上搞砸了。

非常感谢您的帮助!

0 个答案:

没有答案