使用内容类型为:application/x-www-form-urlencoded 的 POST Fetch 调用时,从服务器返回本机 422 Unprocessable Entity 错误

Posted

技术标签:

【中文标题】使用内容类型为:application/x-www-form-urlencoded 的 POST Fetch 调用时,从服务器返回本机 422 Unprocessable Entity 错误【英文标题】:React native 422 Unprocessable Entity error returned from server when using POST Fetch call with content type: application/x-www-form-urlencoded 【发布时间】:2019-06-08 13:30:10 【问题描述】:

我正在使用 POST 请求调用简单的登录 API,以下是参数: 标题: 内容类型:application/x-www-form-urlencoded 正文: 电子邮件:字符串 密码 服务器返回的错误是:422 Unprocessable Entity

代码:

  var formBody = new FormData();
formBody.set("email", "test5@gmail.com");
formBody.set("password", "12345678");


const data = new URLSearchParams(new FormData(details));
return  dispatch => 
    dispatch(requestData());
    try 
        fetch(`$BASE_URLusers/sign_in`, 
            method: 'POST',
            // headers: Interceptor.getHeaders(),
            headers: 
                Accept:'application/json',
                'Content-Type': 'application/x-www-form-urlencoded'
              ,
            //   body: formBody
             body: data

        )
            .then(res => res.json())
                .then(result=>
                
                    if (result.success === false) 
                
                )


     catch (error) 
        console.log('error',error)
        dispatch(failureData(error))
    

Screenshot of code

【问题讨论】:

您应该将图像中的代码添加到问题中... @MosheSlavin 完成,看看 【参考方案1】:

得到了答案,422 基本上是由语义问题引起的,在我的情况下,我的请求标头的来源为空。

【讨论】:

请求头的来源是什么意思?

以上是关于使用内容类型为:application/x-www-form-urlencoded 的 POST Fetch 调用时,从服务器返回本机 422 Unprocessable Entity 错误的主要内容,如果未能解决你的问题,请参考以下文章

面试问题总结

php请求相关

通过JQuery的$.ajax()把 json 数据 post 给 PHP

PHP接收JSON格式的数据

php接收json格式数据(text/xml)

如何使用“Content-type:application/x-www-form-urlencoded”发出 Okhttp 请求?