gpt4 book ai didi

javascript - vue + nuxt.js - 如何读取从外部请求接收的 POST 请求参数

转载 作者:行者123 更新时间:2023-12-04 15:36:48 31 4
gpt4 key购买 nike

我有一个外部表单,它向我的 nuxt 应用程序提交发布请求。我目前正在努力找出如何在我的 nuxt 页面中访问这些 POST 请求参数?

到目前为止,我找到了“asyncData”方法,但是当我尝试通过“params”对象访问提交的参数时,它总是“未定义”。我在这里做错了什么?

  • "asyncData" nuxt reference

  • 我的 nuxt 页面中的示例代码,假设“email”是从外部提交的请求参数
    export default {
    asyncData({ params }) {
    console.log('asyncData called...' + params.email);
    return {email: params.email};
    },

    外部html表单
    <body>
    <form action="https://..." target="_blank" method="post">
    <input name="email" class="input" type="text" placeholder="Email" maxlength="255"></input>
    <input name="submit" class="btn" type="submit" value="Ok"></input>
    </form>
    </bod>

    最佳答案

    我找到了一种方法,如 "asyncData" nuxt reference 中所述您可以将请求和响应对象传递给“asyncData({req,res})”调用。

    这里有一个例子 - 假设 'email' 是 post 参数之一。 querystring是 node.js 的一个模块,允许您将请求正文解析为数组。

    小备注 - 这似乎只适用于 nuxt 页面级组件,但不适用于较低级别的组件

    <script>
    export default {
    asyncData({ req, res }) {
    if (process.server) {
    const qs = require('querystring');
    var body = '';
    var temp = '';
    while(temp = req.read()) {
    body += temp;
    }
    var post = qs.parse(body);
    return {data: post};
    }
    },
    data() {
    return {
    data: '',
    }
    },
    mounted() {
    console.log(this.data['email']);
    },
    </script>

    关于javascript - vue + nuxt.js - 如何读取从外部请求接收的 POST 请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59478989/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com