离子2 POST请求返回422(不可处理实体)



我的API接受此数据,并在邮递员中尝试其正常工作:

http://{URL}/密码/电子邮件

方法:POST

标题:[{"key":"Accept","value":"application/json","description":""} , {"key":"Content-Type","value":"application/x-www-form- urlencoded","description":""}]

正文:只有当我发送x-www-form-urlencoded中的键:值时才有效。

我的IONIC 2代码是:

return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Accept', 'application/json');
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let body = new FormData();
body.append('email', email);
let options = new RequestOptions({ headers: headers });
this.http.post(config.API_URL+"/password/email" ,body , options)
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err.json());
});
}); 

我得到错误

POST {URL}/password/email 422 (Unprocessable Entity)  polyfills.js:3 

我不知道我的代码出了什么问题?

试试下面的代码,emailId是从哪里来的?如果是gloable变量,请使用this.emailId.

HTTP请求或响应中的Content-Type标头描述消息正文的内容类型。

请求中的Accept头告诉服务器客户端在响应主体中期望的内容类型

请参阅API以了解所需的数据类型及其将发送的数据类型。

return new Promise((resolve, reject) => {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let body = JSON.stringify(
{
"emailId": this.emailId
}
);
let options = new RequestOptions({ headers: headers });
this.http.post(config.API_URL+"/password/email" ,body , options)
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err.json());
});
}); 

我对Laravel API也有同样的问题,那么它可能是两种问题。

  • 您的授权令牌丢失。尝试在标头上添加授权:

    let headers = new Headers(); headers.append('Accept', 'application/json'); headers.append('Content-Type', 'application/x-www-form-urlencoded'); // adding Authorization token in your headers headers.append("Authorization:", token);

  • 您忘记在请求时发送一些字段或对象。花点时间阅读此代码描述

代码。。。说明

200。。。。。。好
400。。。。。。反向请求。该请求通常无效
401。。。。。。未经授权。用户和密码或访问令牌无效
403。。。。。。被禁止的API访问被阻止或用户被阻止
404。。。。。。找不到。访问地址不存在
422。。。。。。不可处理实体。请求有效,但传递的数据无效
429。。。。。。许多请求。用户已达到请求限制
500。。。。。。内部服务器。错误处理请求时发生内部服务器错误

相关内容

  • 没有找到相关文章

最新更新