javascript - 从前端调用 Node/Axios
问题描述
我正在开发一个 nodeJS/Axios/Express 应用程序。我已经使用 express 编写了前端,并且有一个我希望能够用来将数据发送到使用 axios 的函数的表单。当我尝试运行它时,我收到一个未定义要求的错误。我如何能够提交表单并将数据传递给我的函数以执行?
我正在使用 EJS,因此某些 HTML 可能看起来像是缺少的部分,因为它是不同文件的一部分。
这是功能之一。如果我使用代码 order_handler.js 执行它,它会正确运行
const axios = require('axios');
const helper = require('../helper_functions');
const qs = require('qs');
const session = require('./get_login');
async function getProdData(slug) {
var sessionid = await session.initSession('<username>', '<password>');
var config = {
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
cookie: `sessionid=${sessionid.sessionCookie}; _gat=1`,
},
}
return axios.get('<3rd party API>' + slug + '/?format=json',config)
.then(res => {
var data = res.data;
console.log(data);
})
.catch(err => {
console.error(err);
})
}
这是前端的 HTML 表单:
<script src="./order_handler.js"></script>
<form action="#" method="POST">
<div class="form-group">
<label for="sku">Item Lookup by SKU</label>
<input
type="text"
id="text"
name="Item SKU"
class="form-control"
placeholder="Enter SKU"
/>
</div>
<button type="submit" onsubmit="getProductData()" class="btn btn-primary btn-block">Find</button>
</form>
从我在研究中发现的情况来看,问题似乎是因为浏览器不理解我的脚本文件顶部的要求。我只是想不出用前端表单中的数据执行这些函数的最简单方法是什么。
解决方案
推荐阅读
- javascript - 我关于制作迷你计算器的代码有什么问题
- php - 如何在多维数组中从 WP_Query 数组中获取发布数据?
- codenameone - Google Play 最近的评论通知 - APK 有明显的披露,但披露并不充分
- flutter - 颤振使容器透明,其中包含所有项目
- django - 当 Debug=False 时 Django CountrySelectWidget 不工作
- json - 如何使用 Windows 命令行从这个类似 json 的文件中获取数据?
- python-3.x - 找到标记但类不可见 Python Selenium
- python - 如何在数组数组中找到整个数组的索引?
- python - 为什么在 Python 库和 RIOT OS C 库中编码 CBOR 时存在差异?
- python - Matplotlib 将数组转换为 1 条图表线