通过 NODE JS & express & jquery 向任何 API 提交请求后,在 HTML 中打印 var 值
Posted
技术标签:
【中文标题】通过 NODE JS & express & jquery 向任何 API 提交请求后,在 HTML 中打印 var 值【英文标题】:Print var value in HTML after submitting a request to any API via NODE JS & express & jquery 【发布时间】:2021-09-15 14:55:53 【问题描述】:需要帮助才能完成这个简单的任务:html AJAX 链接 > 调用节点 JS API 以获取值 > 等待 > 然后 > 返回值并打印到 HTML、JS 或 php。
点击获取我的价值链接后,下面的示例以 HTML 格式给出:"myvalue":"testundefined"。 服务器端控制台没问题。 API 调用可以将值返回给 Node 服务器。
由于我是 Node 和异步的新手,我将不胜感激任何帮助来解决这个问题。我阅读了许多教程和示例以达到这一点,现在我被卡住了。提前谢谢!
var express = require('express');
var app = express();
app.use(express.json());
app.use(express.urlencoded( extended: true ));
const API = require("API");
const KEY = new API( apiKey: "xxxxxxxxxxxxxxxx" );
function getmyvar()
var result = callAPI.integer();
return result; // will return a number
const myvaluevar = new Promise((resolve,reject)=>
setTimeout(()=>
resolve(getmyvar());
,1000);
);
async function getmyvaluevar()
const results = await myvaluevar;
console.log(results);
return results;
app.get('/', function (req, res)
res.sendFile('/index.html', root: __dirname );
);
app.get('/getmyvaluevar', function(req, res)
var myvalue = getmyvaluevar().then(
res.send(
myvalue: 'test'+ myvalue
)
)
);
var server = app.listen(3000, function ()
console.log('Node server is running..');
);
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>$('#get-data').on('click', function()
$('#myvalue').html(JSON.stringify(json));
);</script>
</head>
<body>
<a href="/getmyvaluevar" id="get-data">Get My Value</a>
<div id="myvalue"></div>
</body>
</html>
【问题讨论】:
【参考方案1】:如果我很了解你的问题,你应该试试这个:
注意:不要同时使用 .then()
和 async await
app.get('/getmyvaluevar', async function(req, res)
var myvalue = await getmyvaluevar()
res.send( myvalue: 'test'+ myvalue )
);
【讨论】:
谢谢。脚本现在无需在 myvaluevar 后使用 () 即可运行。节点返回错误“它不是函数”。 我更新了我的答案,你不需要()
只需使用async await 就像上面的答案@JCDweb
非常感谢您的帮助。非常感谢。以上是关于通过 NODE JS & express & jquery 向任何 API 提交请求后,在 HTML 中打印 var 值的主要内容,如果未能解决你的问题,请参考以下文章
sh Node.js && Express && Angular
从 POST 访问中隐藏 Node.js&Express 中的错误消息