我的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。。。。。。内部服务器。错误处理请求时发生内部服务器错误