0

嘿,我在浏览器中使用 Directus 和 Ionic 3,但我遇到了 HTTP PUT 问题。

错误:

错误:{代码:6,消息:“方法不允许”}

原型:对象

标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:null,lazyInit:ƒ}

消息:“ http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50的 Http 失败响应:405 Method Not Allowed”

名称:“HttpErrorResponse”

好的:假的

状态:405

statusText:“方法不允许”

网址:“ http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50

这是我的代码:

    updatePwd(user:any, userId: any){
    return this.api.put('users?single=1&access_token=myToken&filter[id]='+userId,user).map((res: any) => {
      return res;
    });
  }

POST 和 GET 像这样工作得很好

    newUser(user:any){
    return this.api.post('users?access_token=myToken',user).map((res: any) => {
      return res;
    });
  }

getUser(email:any){
    return this.api.get('users?single=1&access_token=myToken&filter[email]='+email).map((res: any) => {
      return res;
    });
  }

我是 Directus 的新用户,对它了解不多。那么这里有什么问题呢?我必须配置一些东西还是什么?

提前致谢 :)

编辑:我尝试使用 PATCH 并且效果很好^^

    updatePwd(userId: any, user:any){
    return this.api.patch('users/'+userId+'?&access_token=myToken',user).map((res: any) => {
      return res;
    });
  }
4

1 回答 1

3

Directus 使用 PATCH 而不是 PUT 来更新行:https ://docs.directus.io/api/reference.html#update-user

于 2019-01-25T21:59:32.480 回答