我想设计Javascript Web应用程序。在该应用程序中,我需要显示诸如每日销售报告之类的报告仪表板,以及要从odoo应用程序中获取的数据。
所以我用odoo-xmlrpc将javascript连接到odoo。
js.file
var Promise = require('promise');
var async = require("async");
var Odoo = require('odoo-xmlrpc');
var odoo = new Odoo({
url: 'localhost',
port: '8063',
db: 'db_1',
username: 'admin',
password: '123'
});
function color(){
return new Promise(resolve => {
odoo.connect(function (err) {
if (err) { return console.log(err); }
console.log('Connected to Odoo server.');
var inParams = [];
inParams.push([[],[]]);
var params = [];
params.push(inParams);
odoo.execute_kw('account.invoice', 'check_func', [[[], []]], function (err, value) {
if (err) { return console.log(err); }
console.log('Result: ', value); //Result: Done
resolve(value);
});
});
});
}
async function changeColor(newColor) {
//document.getElementById("para").innerHTML = "Hello3"; //this line working
var result = await color();
console.log(result, "@@@@@@@@@@@")// Result Done
var elem = document.getElementById('para').innerHTML="tet"; //This line dot working
}
changeColor('red')
python中的check_func()
@api.multi
def check_func(self):
return "done"
html文件
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="/home/priya/Desktop/ra.js"></script>
</head>
<body>
<h2 style="text-align:center;">Reports</h2>
<div style="text-align:center;">
<input type="button" onclick="sales_report_retail()" value="Sales report"/>
<p id="para"></p>
</div>
</body>
</html>
在那个odoo.execute_kw()中,我使用了resolve(value)。该值正在odoo.execute_kw()中使用。 var result = await sales_report_retail_db();该行值可以正确获取,但是在此行document.getelementbyid无法正常工作之后。
我需要在网页中显示该值。那么如何纠正呢?