gpt4 book ai didi

json - 如何在 odoo 中创建一个 JSON Controller ?

转载 作者:行者123 更新时间:2023-12-01 15:15:20 26 4
gpt4 key购买 nike

我在谷歌上搜索有关如何在 odoo 上创建 json View 的文档,但发现的信息很少

我需要创建一个 json View 以从 javascript 访问。

我正在尝试这样:

@http.route('/test/status/<name>', auth='public', type='json')
def temp(self, name,**kwargs):

return [{'status': 'test',
}]

Javascript 代码:

function check_status() {
var name = $('#name').val();
$.getJSON("/test/status/" + name +"/",
function(data){
var status = data.status;
$('#msg').text(status);
});
};

我收到以下错误:

<function temp at 0x7f1a8b7d5140>, /test/status/lego/: Function declared as capable of handling request of type 'json' but called with a request of type 'http'

请帮助我卡住了

[编辑回答@odoo_user2]

function json_function_name() {
odoo.define('custom_webpage.my_js', function (require) {'use strict';
var ajax = require('web.ajax');
ajax.jsonRpc('/pa/get_models/' + variable_id, 'call', {}).then(function (data) {
if (data.models == false) {
} else {
// load models
for (var i = 0; i < data.models.length; i++) {
var opt = document.createElement('option');
opt.innerHTML = data.models[i][1];
opt.value = data.models[i][0];
sel_models.appendChild(opt);
}
}
});
})
}
}

这是我使用的 javascript 函数和 Controller :

@http.route('/pa/get_models/<brand_id>', auth='none', type='json',website=True)
def get_models(self,brand_id**kwargs):
cr = http.request._cr
res = utils.get_models(cr,int(brand_id))
return {'models': res,}

最佳答案

目前我正在研究返回 json 的 python 网络 Controller 。我给你举个小例子:

from openerp import http, _
from openerp.http import request
import json

class ClassName(http.Controller):
@http.route('url', auth='user', type="json")
def className(self, **kw):
cr = request.cr
context = request.context
uid = request.uid
user = request.env['res.users'].sudo().browse(uid)
# now in kw you have all arguments from your post request
# and finally when you will finish work with data and want to
# return json return like that
return json.dumps(res)
# where res is dictionary

我还建议在 python 网络 Controller 中进行输入验证,这样更安全!将此答案标记为正确答案,这就是您所需要的。 (我想这就是你需要的)

关于json - 如何在 odoo 中创建一个 JSON Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37017403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com