Javascript Recaptcha错误“;意外标记";-Firebase云函数

Javascript Recaptcha错误“;意外标记";-Firebase云函数,javascript,firebase,express,google-cloud-functions,recaptcha,Javascript,Firebase,Express,Google Cloud Functions,Recaptcha,我正在尝试将recaptcha集成到我的网站上。Im使用firebase云函数验证recaptcha。“app”函数的第一部分if语句运行良好。但是,当我完成recaptcha之后,接下来是请求(verifyURL,(err,response,body),它给了我两个错误。“POST 500”和“Uncaught(in promise)SyntaxError:位置0处JSON中的意外标记E”。非常感谢您的帮助。位置0处JSON中的意外标记E->这是因为您使用的是JSON.parse(body)在

我正在尝试将recaptcha集成到我的网站上。Im使用firebase云函数验证recaptcha。“app”函数的第一部分if语句运行良好。但是,当我完成recaptcha之后,接下来是请求(verifyURL,(err,response,body),它给了我两个错误。“POST 500”和“Uncaught(in promise)SyntaxError:位置0处JSON中的意外标记E”。非常感谢您的帮助。

位置0处JSON中的意外标记E
->这是因为您使用的是
JSON.parse(body)
在检查回调中的
err
值之前,请始终检查回调开始时是否有错误。
意外标记E
可能是因为遇到错误时正文只是一个简单的字符串响应,而不是JSON。我仍然收到了错误,结果我不得不升级我的firebase plan to提出一个超出范围的请求..但是谢谢你的帮助
const functions = require('firebase-functions');
const express = require('express')
const request = require('request')
const bodyParser = require('body-parser')

const app = express()

app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())

app.post('/reserver', (req, res) => {
  if(req.body.captcha === undefined || req.body.captcha === '' || req.body.captcha === null) {
    return res.json({"success": false, "msg": "Bekræft venligst captcha"})
  }

  const secretKey = 'SECRET-KEY'
  const verifyURL = `https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${req.body.captcha}`

  request(verifyURL, (err, response, body) => {
    body = JSON.parse(body)

    if(body.success != undefined && !body.success) {
        return res.json({"success": false, "msg": "Failed captcha verify"})
    }
    return res.json({"success": true, "msg": "Godkendt captcha"})
  })
})

exports.app = functions.https.onRequest(app)