微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Odoo Api 功能不适用于 IONIC v6.16.3 Angular 上具有用户身份验证的 POST

如何解决Odoo Api 功能不适用于 IONIC v6.16.3 Angular 上具有用户身份验证的 POST

我在调用用户保护的 odoo Api (POST) 时遇到问题。下面是我与 POSTMAN 一起使用的 odoo api 代码

@http.route('/route_api/routes',type="json",cors="*",csrf=False,auth="user",method='POST')
def routeById(self,id):
    array_dict = []
    data = None
    try:
        metro_routes = []
               
        _logger.debug("current login user : " + str(id))

        data  = {'status':200,'rec_count':len(array_dict),'response':array_dict,'message' : 'Success' }
   
    except Exception as e:

        data  = {'status':400,'rec_count':0,'message' : str(e) }

    return data

下面是我的邮递员结果

postman call

postman call

但是当我试图从 IONIC 调用时,我在调试控制台上遇到了很多错误。下面是我的离子代码

RoutesById(id: Number,_sessionId: string){

const configAll: any = {
  headers: new HttpHeaders().set('Content-Type','application/json')
  .set('Access-Control-Allow-Headers','X-Openerp')
  .set('Cookie','session_id='+ _sessionId).set('X-Openerp',_sessionId) };

return new Promise((resolve,reject)=>{
  this.httpCli.post(this.url + '/route_api/routes',{jsonrpc : '2.0',params : {id:id}},configAll).subscribe(data => {
    resolve(data);
  },err => {
    reject(err);
  });
});

}

我收到如下图所示的错误

error image

这里是文字

 Refused to set unsafe header "Cookie"

Access to XMLHttpRequest at 'http://10.247.2.87:8069/route_api/routes' from origin 'http://localhost' has been blocked by CORS policy: Request header field x-openerp is not allowed by Access-Control-Allow-Headers in preflight response.

ERROR Error: Uncaught (in promise): $: {"headers":{"normalizednames":{},"lazyUpdate":null,"headers":{}},"status":0,"statusText":"UnkNown Error","url":"http://10.247.2.87:8069/route_api/routes","ok":false,"name":"HttpErrorResponse","message":"Http failure response for http://10.247.2.87:8069/route_api/routes: 0 UnkNown Error","error":{"isTrusted":true}}

POST http://10.247.2.87:8069/route_api/routes net::ERR_Failed

我确实尝试了登录 odoo api 并且没有这样的错误。不太了解 ionic 和 odoo,感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。