koa 接口返回数据_node,koa_koa获取第三方API数据后,进行前端页面重定向和渲染时,报错:重复发送请求头。,node,koa,javascript - phpStudy...

在KOA应用中,当表单数据提交至后台,通过node原生http.request()请求第三方API数据后,尝试根据返回结果进行页面重定向或渲染时,遇到'Error: Can't set headers after they are sent.'的问题。问题出现在尝试同时使用ctx.redirect()和ctx.render(),导致请求头被多次设置。解决方案在于根据API响应正确地选择一种响应方法。
摘要由CSDN通过智能技术生成

koa获取第三方API数据后,进行前端页面重定向和渲染时,报错:重复发送请求头。

问题描述:表单数据提交到KOA后台,KOA后台请求第三方API数据,根据返回不同的数据,对页面进行重定向或者其他render操作。现在没有用request中间件,用的node原生http.request()请求API数据,但是不论是cxt.redirect()还是cxt.render()都会报Error: Can't set headers after they are sent.错误。

var http = require('http');

var querystring = require('querystring');

module.exports = {

'POST /signin': async (ctx, next) => {

//获取页面数据

var username = ctx.request.body.username || '',

password = ctx.request.body.password || '';

// 封装HTTP请求的数据

var postData = querystring.stringify({

"UserName": username,

"Password": password

})

// 设置HTTP请求选项

var options = {

host: 'apis.*******.com',</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值