首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从AJAX向Odoo 10定制模块控制器发送/获取请求?(被CORS政策阻止)

如何从AJAX向Odoo 10定制模块控制器发送/获取请求?(被CORS政策阻止)
EN

Stack Overflow用户
提问于 2020-04-30 08:28:19
回答 1查看 1.7K关注 0票数 0

我使用Odoo 10与一个自定义模块,我创建了这个简单的控制器。当我从浏览器访问http://127.0.0.1:8069/cmodule/cmodule时,它工作得很好。它显示返回字符串。

我尝试了GET和POST,但是我得到了相同的错误结果。关于CORS策略阻止请求什么的。我的google功能还没有找到解决问题的方法,也没有找到其他的解决办法。

但是当我试图通过AJAX从用PHP/javascript编写的其他东西请求时。我在javascript上得到了这个错误:

CORS策略阻止从“

”从“http://127.0.0.1:8069/cmodule/cmodule/”访问XMLHttpRequest的“http://127.0.0.1”:请求的资源上不存在“访问控制-允许-原产地”标题。

odoo的错误是:

2020-04-30 08:18:13,401 23156 INFO?werkzeug: 127.0.0.1 - 30/Apr/2020 08:18:13 "GET /cmodule/cmodule/ HTTP/1.1“404 -

下面是来自我的Odoo-10自定义模块控制器的简单代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
from odoo import http

class Cmodule(http.Controller):
    @http.route('/cmodule/cmodule/', auth='public', cors='*')
    # I also tried here auth='none' and method='POST' and method='GET'
    def index(self, **kw):
        datas = http.request.env['product.product'].sudo().search(
            [('product_group', '=', 'assort')], limit=50)
        dstr = ','.join(datas )
        # {'ret_val': dstr }
        # I return {'ret_val': dstr } when doing POST request from AJAX.
        return dstr 

下面是我的AJAX请求的代码:

代码语言:javascript
复制
            $.ajax({
                type: "GET",
                // type: "POST",
                url: "http://127.0.0.1:8069/cmodule/cmodule/",
                // data: { data: 'HELLO' },
                success: function(response){
                    console.log(response);
                }
            });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-02 01:10:11

当您尝试不同的事情时,尝试简单的身份验证。

代码语言:javascript
复制
import odoo.addons.web.controllers.main as main
class Home(main.Home):
    @http.route('/web/session/authenticate', type='json', auth="none" ,cors='*')
    def authenticate(self, db, login, password, base_location=None): 
    request.session.authenticate(db, login, password)
        return request.env['ir.http'].session_info()

我在从IOS访问它的时候也犯了同样的错误,但是与邮递员工作得很好--这段代码运行得很好,你做了这段代码中的每一件事,但是仍然

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61519072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档