在 NEXTJS 中将变量从客户端传递到服务器端

贝尔纳多·奥利桑

我已经这样做了,但是我想知道为什么当我尝试在另一个代码中再次应用它时它不起作用。所以我有这个代码“客户端”

const response = await fetch("/api/ipfs", {method: "POST", DATA: "holaaaa"});
if (!response.ok) {
    throw new Error(`Error: ${response.status}`);
}
const result = await response.json()
console.log(result.result)

而这个是“服务器端”

function uploadIPFS(req, res) {
  axios.get(req.body).then(r => {
  
    let metadata = r.data

    res.status(200).json({ metadata: metadata });
  }).catch(err => console.error(err))
}

export default function handler(req, res) {
  if (req.method==='POST') {
      uploadIPFS(req, res);
  }
}    

这与我拥有的另一个 api 文件一起工作,所以我实现了另一个文件,即这个文件,并在客户端的另一个函数中调用新的 api 文件,问题是我想从客户端传递到服务器的变量是身体之一,说“holaaaa”的那个,它不工作并且抛出这个错误。

    API resolved without sending a response for /api/ipfs, this may result in stalled requests.
Error: Cannot read properties of null (reading 'replace')
    at dispatchHttpRequest (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\adapters\http.js:161:23)
    at new Promise (<anonymous>)
    at httpAdapter (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\adapters\http.js:49:10) 
    at dispatchRequest (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\core\dispatchRequest.js:58:10)
    at Axios.request (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\core\Axios.js:109:15) 
    at Axios.<computed> [as get] (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\core\Axios.js:131:17)
    at Function.wrap [as get] (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\axios\lib\helpers\bind.js:9:15)
    at uploadIPFS (webpack-internal:///(api)/./pages/api/ipfs.js:17:11)
    at handler (webpack-internal:///(api)/./pages/api/ipfs.js:37:9)
    at Object.apiResolver (C:\Users\berna\Desktop\Programming\Web development\BlueToken\bluetoken\node_modules\next\dist\server\api-utils\node.js:184:15) {
config: {
    transitional: {
    silentJSONParsing: true,
    forcedJSONParsing: true,
    clarifyTimeoutError: false
    },
    adapter: [Function: httpAdapter],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function] },
    validateStatus: [Function: validateStatus],
    headers: {
    Accept: 'application/json, text/plain, */*',
    'User-Agent': 'axios/0.27.2'
    },
    method: 'get',
    url: '',
    data: undefined
},
url: '',
exists: true
}

有什么想法吗?

克里斯蒂安·哈格利德

向您的 API 发出请求,但您没有向请求正文添加任何内容。我认为您需要将DATAfetch 调用中的属性更改为body

const response = await fetch("/api/ipfs", { method: "POST", body: "holaaaa" });

另外,由于您将该 body 参数传递给axios.get()API 处理程序中的方法,我假设它应该是一个 URL?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在客户端 nextjs 中更改服务器端变量

初始服务器端渲染后如何使用React + NextJS立即重新渲染客户端?

在NextJS中从服务器端重定向

Nextjs - 在服务器端访问 url 参数

如何在js中将js中的变量从服务器端传递到客户端

NextJS路由:为什么需要不同的客户端和服务器路由?

警告:文本内容不匹配。服务器:“我在外面”客户端:“我在外面” div NEXTJS

在Flask中将带有Jquery和JSON的Javascript数组从客户端传递到服务器端

客户端数据到服务器端

如何将变量从客户端传递到服务器端以设置 webchartcontol 宽度

如何在 js/googlescript 中访问从客户端到服务器端的对象数组中传递的变量

将变量从服务器端控制器传递到客户端以在客户端 JavaScript 中使用

如何使用NextJS和React Router呈现服务器端反应内容?

在Nextjs中,如何以编程方式触发服务器端渲染?

Nextjs和Apollo:在getInitialProps服务器端将cookie附加到Apollo Client

即使没有getXProps,NextJS服务器端也会呈现吗?

NextJS OAuth2认证服务器端无快递

在NextJs的服务器端代码中访问静态资源?

如何在 nextjs 中为服务器端编写中间件

NextJS SSR 和客户端状态

将数据从客户端传递到服务器端

无法将客户端消息传递到服务器端

jhipster客户端将实体过滤器传递到服务器端?

我如何将Java对象从服务器端传递到客户端

使用React-Engine和Express到客户端的服务器端变量

将变量传递到服务器端,然后传递回客户端,而无需回发或重新加载

如何在Angular / Node.js / Express中将客户端参数传递给服务器端

NextJS 组件服务器端渲染,使用来自调用者组件的参数注入

nextjs您如何将应用划分为使用服务器端渲染的可重用组件