You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React调用Odoo 15 API获取数据时遭遇404错误求助

解决React调用Odoo 15 API的404错误

问题原因

你的404错误源于两个核心问题:

  • Axios请求结构错误:axios.post的参数顺序混乱,你将请求配置(headers、凭证)与请求体混在同一个参数中,导致服务器无法正确解析请求。
  • Odoo API调用方式错误:Odoo 15中没有/web/dataset/search_read这个直接端点,调用模型的search_read方法需要通过标准JSON-RPC端点/web/dataset/call_kw实现。另外手动JSON.stringify请求体属于冗余操作,axios会自动处理JSON格式请求。

修正后的代码

const getTasks = async () => {
    try {
        const response = await axios.post(
            "http://localhost/web/dataset/call_kw",
            {
                jsonrpc: "2.0",
                method: "call",
                id: 1,
                params: {
                    model: "res.users",
                    method: "search_read",
                    args: [[], ["id", "name", "state"]],
                    kwargs: {
                        offset: 0,
                        limit: 0,
                        order: "id ASC",
                        context: {
                            lang: "en_US",
                            tz: "Europe/Brussels"
                        },
                    },
                },
            },
            {
                headers: {
                    "Content-Type": "application/json",
                },
                withCredentials: true
            }
        );
        console.log("查询结果:", response.data);
    } catch (error) {
        console.error("查询失败:", error);
    }
};

关键修正说明

  • Axios参数规范:axios.post的第二个参数是请求体(直接传JSON对象,无需手动序列化),第三个参数是配置对象(包含headers、withCredentials等),和你认证接口的调用格式保持一致。
  • API端点修正:改用/web/dataset/call_kw,这是Odoo 15调用模型方法的标准JSON-RPC端点。
  • 参数格式调整:
    • search_read的参数需放在args数组中,第一个元素是查询域(domain),第二个是返回字段列表;额外参数(如排序、分页)放在kwargs对象中。
    • Odoo的排序参数是order而非sort,注意参数名对应。
    • 无需手动指定uid,会话Cookie已携带认证信息,服务器会自动识别当前用户。
  • 凭证传递:保持withCredentials: true,确保认证后的会话Cookie被携带到请求中。

额外检查

  • 确认Odoo服务器端口:如果Odoo使用非默认端口(如8069),需将URL改为http://localhost:8069/web/dataset/call_kw。
  • 权限验证:确保当前登录用户拥有res.users模型的读取权限,避免后续出现权限错误。

内容的提问来源于stack exchange,提问作者Rock Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:42:48