下一个 js axios http 请求到 laravel lumen 端点并在下一个 js 应用程序中显示响应数据

Posted

技术标签:

【中文标题】下一个 js axios http 请求到 laravel lumen 端点并在下一个 js 应用程序中显示响应数据【英文标题】:next js axios http request to laravel lumen endpoint and display the response data in next js app 【发布时间】:2021-12-27 04:59:15 【问题描述】:

我有下一个 js 应用程序和 Axios 用来调用流明端点。 Axios http 客户端函数被编码到一个单独的文件夹中,称为 services/index.tsx 示例代码,如下所示。

export const register = async (payload: any) => 
  try 
    const endpoint = baseUrl + '/api/register';
    const res = await Axios.post(endpoint, payload)
    return await res.data
   catch (error) 
   return error.response
  

从 signup.tsx 组件调用上述注册函数,如下所示

const formik = useFormik(
    onSubmit: (values) => 
        register(values).then(response => 
            console.log(data);
        ).catch(function(error)
            console.log(error)
        )
    
);

Lumen 控制器 json 响应如下所示。表单验证错误

$this->validate($request,[
        'email' => 'required|unique:users,email'
]);

return response()->json(['message' => 'Account Created'],201);

如何在下一个js应用的signup.tsx组件中显示流明控制器响应数据?

【问题讨论】:

你有语法错误register(values).then(response 在这里你得到response 变量和日志data ?如何 response.message 应该有你想要的数据。将其设置为状态属性以显示它。仅供参考,return await res.data 中的 await 是多余的 @KamleshPaul 我可以在 services/index.tsx 文件中获取错误响应。 “error.response.data”,但我想将该错误消息转发到 signup.tsx 组件 @aseladaskon 使用state @KamleshPaul 你的意思是const [error, setState] = useState() 【参考方案1】:

谢谢@kamlesh

我通过使用带有 Saga 中间件的 redux 包装器解决了这个问题。我所做的是创建一个 redux 存储并使用 saga 中间件调度 redux 操作。这些入门教程对我帮助很大。要考虑的另一点是,如果您打算在下一个 js 应用程序中使用服务器端和客户端渲染,则必须使用下一个 redux 包装器来顺利处理这些请求。

redux saga doc next redux wrapper

【讨论】:

以上是关于下一个 js axios http 请求到 laravel lumen 端点并在下一个 js 应用程序中显示响应数据的主要内容,如果未能解决你的问题,请参考以下文章

vue.js中axios的封装(参考)

如何在 node.js 中使用 axios 循环许多 http 请求

AXIOS

vue.js 配置axios 用来ajax请求数据

vue中axios怎么分服务

Vue Js - axios 的问题使用 laravel 执行多个并发请求