猿问

SyntaxError:提取 API 中的输入意外结束

我在这个链接中遇到了一个以前被问过的新问题。但这与我的问题无关。

我实现的是一个非常简单的 API,使用nodejs,express-frameworkmongoose. 问题在于 fetch API。我想提交一些 ID 并将其发布到服务器。在服务器端,我根据用户输入的 ID 将其重定向到正确的 URL。每当我测试这部分时,前端都会出现此错误并指向return response.json()行。

SyntaxError:输入意外结束

这是我的代码:

前端:

function submitCode(){

    var nationalCode = document.getElementById('nationalCode').value

    var data = {

        nationalCode: nationalCode,

        creationDate: new Date().toLocaleDateString()

    }


    fetch('/submit', {

        method: 'POST',

        redirect:'manual',

        headers: {

            'Content-Type': 'application/json',

            'Accept': 'application/json'

        },

        body: JSON.stringify(data)

    },

    ).then(response => {

        return response.json()

    }).then(jsonData => {

        console.log('success:', jsonData)

        history.pushState(null, null, "/lashkhor")

    }).catch(e => {

        console.log('error:', e)

        return e

    })

}

后端:


app.post('/submit', (req, res) => {

    var nationalCode = req.body.nationalCode

    var creationDate = req.body.creationDate


    query = {'nationalCode': nationalCode}

    nationalCodeModel.find(query, (err, success) => {

        if (err) {

            console.log('error:', err)

        }

        else if (success.length == 0){

            nationalCodeModel.create({

                nationalCode: nationalCode,

                creationDate: creationDate

            })

            console.log('salam khoshgele daei!')

            res.redirect('/khoshgeledaei')

        }

        else if (success.length > 0) {

            console.log('lashkhor detected')

            res.redirect('/lashkhor')

        }

    })


})


app.get('/lashkhor', (req, res) => {

    console.log('here')

    res.send('salam')

})

我找不到任何提示来解决它。如果有人可以帮助我,我将不胜感激。


慕尼黑的夜晚无繁华
浏览 140回答 1
1回答

蝴蝶不菲

您正在尝试将文本解析为 json。您可以使用res.json()而不是res.send()从后端使用。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答