今天在使用Vue来提交POST内容时总是有415的错误,虽然Drupal 的官网给JSONAPI提交的资料很清楚,但还是没有具体指明示例,为此也花了不少时间找测试,经过痛苦的Google和度娘都没有直接的资料,最后对比axios库找到一些资料,现在写出解决方案:
var data={data:{type:'taxonomy_term--tax_brand',attributes:{name:this.name}}}
var header={headers:{Accept:'application/vnd.api+json','Content-type':'application/vnd.api+json',Authorization:'Basic YXBpOmFwaQ=='}}
this.$http.post(this.getUrl,JSON.stringify(data),header).then(res=>{
console.log(res)
})
这是在Drupal8中使用JSONAPI为基础,前端通过Vue + vue-resource 库提交的数据的方法。
另外,这个方案中还有一前提,Drupal8 对相应的权限设定了匿名权限,最后提示下,在测试的页面没有跨域访问,如果跨域访问还需额外的方案。