我使用Odoo 10与一个自定义模块,我创建了这个简单的控制器。当我从浏览器访问http://127.0.0.1:8069/cmodule/cmodule时,它工作得很好。它显示返回字符串。
我尝试了GET和POST,但是我得到了相同的错误结果。关于CORS策略阻止请求什么的。我的google功能还没有找到解决问题的方法,也没有找到其他的解决办法。
但是当我试图通过AJAX从用PHP/javascript编写的其他东西请求时。我在javascript上得到了这个错误:
CORS策略阻止从“
”从“http://127.0.0.1:8069/cmodule/cmodule/”访问XMLHttpRequest的“http://127.0.0.1”:请求的资源上不存在“访问控制-允许-原产地”标题。
odoo的错误是:
2020-04-30 08:18:13,401 23156 INFO?werkzeug: 127.0.0.1 - 30/Apr/2020 08:18:13 "GET /cmodule/cmodule/ HTTP/1.1“404 -
下面是来自我的Odoo-10自定义模块控制器的简单代码:
# -*- coding: utf-8 -*-
from odoo import http
class Cmodule(http.Controller):
@http.route('/cmodule/cmodule/', auth='public', cors='*')
# I also tried here auth='none' and method='POST' and method='GET'
def index(self, **kw):
datas = http.request.env['product.product'].sudo().search(
[('product_group', '=', 'assort')], limit=50)
dstr = ','.join(datas )
# {'ret_val': dstr }
# I return {'ret_val': dstr } when doing POST request from AJAX.
return dstr 下面是我的AJAX请求的代码:
$.ajax({
type: "GET",
// type: "POST",
url: "http://127.0.0.1:8069/cmodule/cmodule/",
// data: { data: 'HELLO' },
success: function(response){
console.log(response);
}
});发布于 2020-05-02 01:10:11
当您尝试不同的事情时,尝试简单的身份验证。
import odoo.addons.web.controllers.main as main
class Home(main.Home):
@http.route('/web/session/authenticate', type='json', auth="none" ,cors='*')
def authenticate(self, db, login, password, base_location=None):
request.session.authenticate(db, login, password)
return request.env['ir.http'].session_info()我在从IOS访问它的时候也犯了同样的错误,但是与邮递员工作得很好--这段代码运行得很好,你做了这段代码中的每一件事,但是仍然
https://stackoverflow.com/questions/61519072
复制相似问题