const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.post("/addData", (req, res) => { res.send("添加成功"); }); app.post("/dataList", (req, res) => { var arr = []; var zhansan = { name: "张三", age: 19 }; var lisi = { name: "李四", age: 19 }; arr.push(zhansan); arr.push(lisi); res.send(JSON.stringify(arr)); }); const port = 3000; app.listen(port, () => { console.log(`服务器已启动,正在监听端口 ${port}`); }); 上面是js文件,下面是index.html文件<!DOCTYPE html> <html> <head> <title>Node.js Demo</title> <script src="jquery-3.7.0.js"></script> </head> <body> <button onclick="addData()" class="addData">按钮一</button> <button onclick="getDataList()" class="DataList">按钮二</button> <div id="result"></div> <script> function addData() { $.post("/addData", function(data) { alert(data); }); } function getDataList() { $.post("/dataList", function(data) { var resultDiv = document.getElementById("result"); resultDiv.innerHTML = data; alert(data); }); } </script> </body> </html>没弹出按钮
时间: 2024-04-24 12:21:17 浏览: 12
问题可能出在你的HTML文件中没有正确引入jQuery库。请确保在项目根目录下存在名为`jquery-3.7.0.js`的文件,并确保它被正确引入。
另外,请将`index.html`文件与`app.js`文件放在同一个目录下,并确保在浏览器中通过`http://localhost:3000/index.html`来访问页面。
如果问题仍然存在,请检查以下几点:
1. 确保你已经在项目根目录下安装了jQuery库。可以通过以下命令来安装:
```shell
npm install jquery --save
```
2. 确保`app.js`和`index.html`文件在同一个目录下。
3. 确保你的项目结构如下所示:
```
- 项目根目录
- app.js
- index.html
- jquery-3.7.0.js
```
4. 如果你的项目结构不同,你需要相应地调整相关文件的路径。
如果你依然无法解决问题,请提供更多详细的错误信息,以便我更好地帮助你。
相关问题
const BodyParser = require('body-parser')
这是在Node.js环境下使用Body-Parser中间件的语句。其中,const表示定义一个常量,BodyParser是一个Node.js中间件,用于解析HTTP请求的请求体,并将解析后的数据存储在req.body对象中。
在使用BodyParser中间件之前,我们需要先引入该中间件。一般情况下,我们使用npm包管理工具来安装和管理第三方中间件,例如使用以下命令安装Body-Parser中间件:
```
npm install body-parser
```
安装完成后,我们需要在代码中引入该中间件,并将其挂载到Express应用程序实例上,以便在处理HTTP请求时使用。以上面的语句为例,它将Body-Parser中间件引入,并使用常量BodyParser保存其返回值。
接下来,我们可以使用app.use()函数将BodyParser中间件挂载到应用程序实例上,如下所示:
```
app.use(BodyParser.json());
app.use(BodyParser.urlencoded({ extended: true }));
```
以上代码将BodyParser中间件挂载到应用程序实例上,使其能够在处理HTTP请求时自动解析请求体,并将解析后的数据存储在req.body对象中。其中,BodyParser.json()用于解析JSON格式的请求体,BodyParser.urlencoded()用于解析URL编码格式的请求体。需要注意的是,通过使用BodyParser中间件,我们可以方便地处理HTTP请求中的数据,并将其用于实现具体的业务逻辑。
var express = require("express"); var app = express(); const BodyParser = require('body-parser') const sqlPromise = require("mysql2/promise");
这是在Node.js环境下使用Express框架、Body-Parser中间件和mysql2/promise库创建一个Web应用程序并访问MySQL数据库的语句。其中,var表示定义一个变量,const表示定义一个常量,express是一个Node.js的Web框架,BodyParser是一个Node.js中间件,用于解析HTTP请求的请求体,sqlPromise是一个Node.js库,它提供了一组API,用于创建MySQL数据库连接池,并支持Promise方式的异步操作。
这段代码的作用是初始化Express应用程序,并创建一个MySQL数据库连接池。具体来说,它使用var express = require("express"); var app = express();语句创建了一个名为app的Express应用程序实例;使用const BodyParser = require('body-parser')语句引入了Body-Parser中间件;使用const sqlPromise = require("mysql2/promise");语句引入了mysql2/promise库。
接下来,我们可以使用app.use()函数将BodyParser中间件挂载到应用程序实例上,以便在处理HTTP请求时使用。例如:
```
app.use(BodyParser.json());
app.use(BodyParser.urlencoded({ extended: true }));
```
以上代码将BodyParser中间件挂载到应用程序实例上,使其能够在处理HTTP请求时自动解析请求体,并将解析后的数据存储在req.body对象中。其中,BodyParser.json()用于解析JSON格式的请求体,BodyParser.urlencoded()用于解析URL编码格式的请求体。
接着,我们可以使用sqlPromise.createPool()函数创建一个MySQL数据库连接池,并指定连接MySQL所需的相关参数。例如:
```
const pool = sqlPromise.createPool({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test'
});
```
以上代码创建了一个名为pool的MySQL数据库连接池,并指定了连接MySQL所需的相关参数,例如数据库服务器地址、用户名、密码、数据库名称等。
通过以上几步,我们就可以在应用程序中方便地访问和操作MySQL数据库了。例如,我们可以使用pool.query()函数执行SQL查询语句,如下所示:
```
const [rows, fields] = await pool.query('SELECT * FROM users WHERE age > ?', [18]);
```
这个代码片段使用await关键字异步执行SQL查询,并将查询结果保存在变量rows和fields中。通过这样的方式,我们可以使用Express框架、Body-Parser中间件和mysql2/promise库创建一个Web应用程序,并访问MySQL数据库。