odoo使用ajax请求,odoo 前后台 + ajax 调用

话不多说直接上代码(直接用改改自己需要的逻辑即可)最后别忘记在__manifest__.py加权限

xml部分:

.int{ height: 30px; text-align: left; width: 600px; }

label{ width: 200px; margin-left: 20px; }

.high{ color: red; }

.msg{ font-size: 13px; }

.onError{ color: red; }

.onSuccess{ color: green; }

用户信息页面

姓名:

电话:

住址:

controllers部分

# -*- coding: utf-8 -*-

from odoo import http

from odoo.http import request

import time

import json

from odoo import api

from odoo.tools import misc

class Academy(http.Controller):

# 创建接口测试

@http.route('/inserttest', auth='public',methods=['POST','GET'])

def inserttest(self,jsonp ='jsonpCallback',**args):#注意jsonp格式

name= args.get('name')#接受前端的参数

phone = args.get('phone')

address =args.get('address')

print(name)

print(phone)

print(address)

Teachers = http.request.env['academy.teachers'] # [数据库]

if name:

product_count = Teachers.sudo().search_count([('name', '=', name)])#查询有没有此人

# print(product_count)

if (product_count)>=1:

res = {'msg': '用户已存在!', 'msg_code': 2001}

else:

Teachers.sudo().create({'name': name,'phone':phone,'address':address} )

res = {'msg': '注册成功!', 'msg_code': 0}

else:

res = {'msg': '必填字段未填,请检查接口文档!', 'msg_code': 1001}

return_value = (jsonp +"("+ json.dumps(res,ensure_ascii=False)+")")#json固定格式

return return_value

标签:调用,http,name,odoo,phone,ajax,address,msg,import

来源: https://blog.csdn.net/Programmer_FuQiang/article/details/104811776