我正在开发一个使用 Google reCAPTCHA 的 React.js/Next.js 项目。我的前端似乎正在工作(我知道,因为我一路上设置了打印语句),但后端在我的本地终端中给了我这个错误:
错误 - 'src\app\api\recaptcha\route.ts' 中没有导出 HTTP 方法。为每个 HTTP 方法导出命名导出。
我的开发工具中也出现错误:
'POST http://localhost:3000/api/recaptcha 405(不允许的方法)'
我相信这与另一个错误有关。
这是代码:
import { NextApiRequest, NextApiResponse } from 'next';
import express from 'express';
import cors from 'cors';
import bodyParser from 'body-parser';
import axios from 'axios';
const app = express();
app.use(cors());
app.use(bodyParser.json());
console.log('hi');
export async function postHandler(req: NextApiRequest, res: NextApiResponse){
if (req.method === 'POST') {
const { token } = req.body;
try {
const response = await axios.post(
`https://www.google.com/recaptcha/api/siteverifysecret=${process.env.NEXT_PUBLIC_RECAPTCHA_SECRET_KEY}&response=${token}`
);
console.log('you made it …Run Code Online (Sandbox Code Playgroud)