gpt4 book ai didi

go - Axios 和 fetch 在 Golang 中给出空映射,即使在 url 编码时(添加了 header )

转载 作者:数据小太阳 更新时间:2023-10-29 03:34:16 26 4
gpt4 key购买 nike

我正在使用 axios 发送 http 请求(我也使用了 fetch 但它给出了相同的结果)。

axios.post("http://localhost:3000/login",
{
answer: 42
},
{
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})

在我的 go 文件中,我正在记录响应

func post(req *http.Request, res http.ResponseWriter) {
req.ParseForm()

fmt.Println(req.Form)
}

日志如下:

map[{"answer":42}:[]]

但是我希望它如下所示:

map["answer":[42]]

(当我使用 postman 时我得到这样的信息)

这是什么问题。

出站数据供引用

Outgoing data


更新

我使用了请求(内置于 nodejs)以及 jQuery ajax。它们都很好用。

只有 axios 和 fetch 不起作用

代码如下:

  • 要求

    以下代码使用nodejs请求

    var request = require("request"); 
    var options = { method: 'POST',
    url: 'http://localhost:3000/login',
    headers:
    {
    'cache-control': 'no-cache',
    'Content-Type': 'application/x-www-form-urlencoded' },
    form: { answer: '42' } };

    request(options, function (error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
    });
  • jQuery ajax

以下是我的jQuery代码

var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:3000/login",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"cache-control": "no-cache",
},
"data": {
"answer": "42"
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

但是,我仍然无法让 axios 和 fetch 工作。如果有人找到它,请更新答案

最佳答案

你需要这样的东西:

var querystring = require('querystring');
axios.post('http://localhost:3000/login', querystring.stringify({'answer': 42},headers: {
'Content-Type': 'application/x-www-form-urlencoded'
});

您可以使用 params 配置选项设置查询字符串参数,它肯定会起作用:

axios.post("http://localhost:3000/login", "", {
params: {answer: 42},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})

要了解更多信息,请阅读此 https://github.com/axios/axios/issues/350#issuecomment-227270046

关于go - Axios 和 fetch 在 Golang 中给出空映射,即使在 url 编码时(添加了 header ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069404/

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