碰到odoo的一个骚操作,为什么说它骚,因为我们知道,一般json请求的返回值是json,然后由前端js来处理跳转之类的动作。如果请求是http,那么跳转之类的动作由浏览器根据返回值处理。odoo这个地方骚劲在于,前端的请求是以json方式进来的,它没有返回json,而是返回了一串bytes字节,然后页面居然跳转了。
具体内部机制有待进一步探究,先把代码放这里,给以后的开发留一个思路。
1 | # website_sale/controllers/main.py |
tx.render_sale_button方法的返回值类似如下值:
1 | <input type="hidden" name="data_set" data-remove-me="" data-action-url="/payment/transfer/feedback"/> |