带有JSON参数的请求抛出未捕获(承诺)语法错误

问题描述 投票:0回答:2

我正在使用Fetch向服务器发出发布请求,并且尝试将一些信息与之一起传递,如下所示。

var rating = document.getElementById("rating");
var ratingValue = rating.innerHTML;
fetch("/films",{
    method: "post",
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    },
    body: JSON.stringify({
        rating : ratingValue
    })
})

[当我尝试访问服务器中的此信息时,出现错误:

未捕获(承诺)SyntaxError:意外令牌

服务器端代码为:

app.post("/films", function(req,res){
    var rating = req.body.rated;
    ...
})

而且正是函数的第一行给了我错误,这是声明rating变量的那一行。

javascript json express post fetch-api
2个回答
0
投票

您的var rating = document.getElementById("rating");是一个类似<div id='rating'>Some text</div>的html元素。我不知道rating元素或类型中的内容,所以这只是一个例子。稍后,在代码中,您将rating用作

中的键
 body: JSON.stringify({
        rating : ratingValue
 })

所以您尝试沿着以下方式创建键:值对

{ "<div id='rating'>Some Text</div>" : ratingValue }

看到错误是在位置0处显示


0
投票

您不是要说req.body.rating吗?

© www.soinside.com 2019 - 2024. All rights reserved.