1
我想在odoo中創建jsonrpc服務。當我創建清潔模塊使用DOC https://www.odoo.com/documentation/8.0/howtos/website.html並添加這樣的代碼Odoo JSONRPC服務(http.route類型= json)不起作用
**[controllers.py]**
@http.route(['/my_academy/ret/'], type='json', auth="public")
def change_size(self):
return {'x': 1, 'y': 2}
嘗試從JS連接:
"use strict";
var requestUrl = '/my_academy/ret/';
openerp.jsonRpc(requestUrl, 'call', {})
.then(function (data) {
alert(data['x']);
});
所有做工精細。我收到消息'1'。 當我創建使用DOC https://www.odoo.com/documentation/8.0/howtos/backend.html模塊,並添加這樣的代碼
**[controllers.py]**
@http.route(['/academy/jsonrpc/'], type='json', auth="public")
def return_map(self):
return {'x': 12345, 'y': 2222}
修改js和嘗試連接
"use strict";
var requestUrl = '/academy/jsonrpc/';
openerp.jsonRpc(requestUrl, 'call', {})
.then(function (data) {
alert(data['x']);
});
我收到錯誤
code: 200
data: Object
arguments: Array[0]
length: 0
__proto__: Array[0]
....
debug: "Traceback (most recent call last):↵
File "/home/skif/odoo/openerp/http.py", line 539, in _handle_exception↵
return super(JsonRequest, self)._handle_exception(exception)↵
File "/home/skif/odoo/openerp/addons/base/ir/ir_http.py", line 152, in _dispatch↵
rule, arguments = self._find_handler(return_rule=True)↵
File "/home/skif/odoo/openerp/addons/base/ir/ir_http.py", line 65, in _find_handler↵
return self.routing_map().bind_to_environ(request.httprequest.environ).match(return_rule=return_rule)↵
File "/usr/local/lib/python2.7/dist-packages/werkzeug/routing.py", line 1430, in match↵
raise NotFound()↵
NotFound: 404: Not Found↵"
message: ""
name: "werkzeug.exceptions.NotFound"
__proto__: Object
message: "Odoo Server Error"
__proto__:Object
我在做什麼錯?爲什麼我不能使用類似的代碼?
沒有任何變化。 – Skif
你有沒有導入你的控制器在init.py – prakash
我試着使用auth =「none」 - 什麼也沒有。如果模塊開發的網站,然後一切正常。如果模塊開發後端,如https://www.odoo.com/documentation/8.0/howtos/backend.html我有問題。可能是我需要聲明任何模塊或安全參數? – Skif