可以通过以下步骤完成:
from odoo import http
from odoo.http import request
import json
class MyController(http.Controller):
@http.route('/my_route', type='json', auth='public')
def my_route(self):
data = {
'key1': 'value1',
'key2': 'value2'
}
return json.dumps(data)
odoo.define('my_module.my_js_file', function (require) {
"use strict";
var ajax = require('web.ajax');
ajax.jsonRpc('/my_route', 'call', {}).then(function (data) {
// 处理返回的数据
console.log(data.key1);
console.log(data.key2);
});
});
在上述代码中,使用Ajax或Fetch API发送GET请求到/my_route
路由,并通过call
方法获取返回的数据。然后,可以在回调函数中处理返回的数据。
这种方法允许您在Odoo的Controller中处理数据,并将其传递到前端的JS文件中。您可以根据实际需求在Controller中执行逻辑和数据库查询,然后将结果传递给前端进行展示或其他操作。
对于此功能,腾讯云的推荐产品是云服务器CVM和轻量应用服务器Lighthouse,它们提供了可靠、安全且灵活的云计算基础设施,可用于部署Odoo应用程序。您可以在腾讯云官网了解更多详情:
领取专属 10元无门槛券
手把手带您无忧上云