【问题标题】:NPM request form keeps returning 415 statusNPM 请求表单不断返回 415 状态
【发布时间】:2019-06-04 17:29:04
【问题描述】:

我正在尝试提出一个在 Postman 中成功的简单请求。这只是一个带有静态 URL 的 POST 操作,Content-Typeapplication/x-www-form-urlencoded,以及两个表单字段。就像这个模拟示例一样简单:

但是,我无法使用带有表单的 NPM 请求获得相同的请求:

var apiUrl = "https://myapp.com/myendpoint";
const formData = {
    "user_type": "simple_user",
    "api_key": "123456789XYZ"
}

try {
    request.post({url:apiUrl, formData:formData}, function(err, res, result){
        if (err) {
            console.log(err);
        }
        else {
            console.log(res.statusCode); //always 415
            console.log(result); //always undefined
        }
    });
} catch (err) {
    console.log(err);
}

根据documentation,我的做法是正确的。有人能指出我出了什么问题吗?

【问题讨论】:

    标签: javascript node.js request content-type npm-request


    【解决方案1】:

    根据文档,formData 键应该是 form

    试试下面的:

    try {
        request.post({url:apiUrl, form:formData}, function(err, res, result){
            if (err) {
                console.log(err);
            }
            else {
                // You should have a good response here
            }
        });
    } catch (err) {
        console.log(err);
    }
    

    【讨论】:

    • 奇怪,在文档的链接中,他们使用formData 而不是form,也许文档需要修复
    • 我认为您可能会将其与 multipart/form-data (Multipart FormUploads) 混淆 - 对于多部分表单,它需要 formData。对于application/x-www-form-urlencoded,它需要form
    猜你喜欢
    • 2018-12-06
    • 2011-08-02
    • 2022-01-14
    • 1970-01-01
    • 2015-05-10
    • 2018-02-15
    • 1970-01-01
    • 2015-12-08
    • 2022-10-05
    相关资源
    最近更新 更多