跨域AJAX访问OD自定义模块

2024-10-01 05:05:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在不同模块的两个控制器类中有相似的路径

Route1=ws5/mytest位于addons/web/controllers/main->;webclient类中。只要它有cors='*'意味着cors='*'正在做我需要的工作,它就可以在跨域中正常工作。在

Route2=ws6/mytest在我的自定义类中,即custom\u addons/mymodule/controllers/main->;MyWebService。我无法使它为跨域访问工作

两者都有下面给出的100%相同的代码(除了类名和路由),两者在浏览器中都可以正常工作,但是只有一个ws5可以跨域访问,我需要ws6来工作

class MyWebService(http.Controller):

    @http.route('/ws6/mytest', cors='*', type='http', auth='none')
    def get_signature(self, **kw):
        response_content = "my 2 test"
        return response_content

我还能做什么?在

当我对代码进行任何更改时,它会反映在浏览器中,但是对于上述路径,从ajax访问是不可能的


Tags: 代码gt路径httpmainresponse浏览器content
1条回答
网友
1楼 · 发布于 2024-10-01 05:05:04

尝试将mymodule添加到Odoo的服务器级模块中。 服务器范围内的模块应类似于:

  • 对于Odoo版本8、9、10:web,web_kanban,mymodule
  • 对于odoo11:web,mymodule。在

您可以通过两种方式设置服务器范围的模块:

  • 在启动Odoo时通过命令行参数,例如:$ ./odoo-bin load=web,web_kanban,mymodule(根据您的Odoo版本进行调整)。在
  • 通过配置文件-将server_wide_modules = web,web_kanban,mymodule(根据您的Odoo版本进行调整)添加到Odoo配置文件中。在

这将确保在选择数据库和建立Odoo会话之前加载模块。在

或者,您可以尝试将^{}设置为特定的数据库,例如$ ./odoo-bin db-filter='^mydatabase$'。在

相关问题 更多 >