我试图将POST请求发送到Drupal网站(创建内容类型测试的新节点),但出现错误422(无法处理的实体)
这是我在Angular中的服务:
createBlog(blog: Blog): Observable<any>{
let url = this.API_URL + "entity/node";
blog._links = {type : { href: 'http://example.co.uk/rest/type/node/test' } };
return this.http.post(url, blog, {headers:this.headers}).map(res => res.json()).catch(err => {
console.log(blog)
return Observable.throw(err.json);
});
}
这是我在提交表单后进入控制台的内容:
有任何想法吗?
最佳答案
通过http发布之前,请使用JSON.stringify(data)
方法。
return this.http.post(url, JSON.stringify(blog), headers).map((res: Response) => res.json());
编辑:
麻生太郎使用标题如下。
import { Headers, Response, RequestOptions} from "@angular/http";
...
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify(blog);
return this.http.post(url, body, options).map((res: Response) => res.json());
关于javascript - POST请求Angular 2 Drupal 8上的错误422,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40931856/