nodejs网页请求

今天做nodejs的http请求的时候,竟然报错了

list argument must be an array of buffers

我还是代码识别数值错误了呢,我还特意把nodejs去下载个新版本呢,原来的是6.9.1下了最新的6.10.1后进入没有效果呢

这是我上次调整的代码,因为中文乱码的问题,nodejs中web请求乱码 特意修改的现在竟然报错了

我用代码测试检测是不是数值确实是数组

那是什么问题呢,找很久也没解决,后台突然想到是不是数组里面的不是Buffer呢

两个参数都检测真有一个不是Buffer知道问题就可以解决了

let cd = null;
res.on("data", (chunk)=>{
	if(Buffer.isBuffer(chunk))
	{
		if(cd) Buffer.concat([cd, chunk], cd.length + chunk.length);
		else cd = chunk;
	}
	else
	{
		if(!cd) cd = '';
		cd += chunk;
	}
});

代码这样写就没什么问题了


原网页 http://www.web-jia.com/view.php?a=33


HTML 5移动App剖析(1)
使用NetBeans和Eclipse开发PHP应用程序(1)
10段PHP常用功能代码(1)
JavaScript异步编程之用Jscex画圆
详谈PHP数组
新浪微博CSS3适用细节初探
HTML 5华丽丽的新特性
PHP控制语句之Switch
类成员的访问方式和权限
高性能WEB开发之如何加载JavaScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你提供一个简单的Node.js网页计算器的代码示例。在这个示例中,我们将使用Express框架来创建一个Web应用程序,使用HTML和CSS来设计网页界面,使用JavaScript和Node.js来实现计算器的逻辑。 首先,需要安装以下几个依赖项: - express - body-parser 可以使用以下命令进行安装: ``` npm install express body-parser ``` 接下来,我们创建一个名为`index.js`的文件,并添加以下代码: ```javascript const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({extended: true})); app.use(express.static('public')); app.get('/', (req, res) => { res.sendFile(__dirname + '/public/index.html'); }); app.post('/calculate', (req, res) => { const num1 = parseFloat(req.body.num1); const num2 = parseFloat(req.body.num2); const operator = req.body.operator; let result; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; default: res.send('Invalid operator'); return; } res.send(`The result of ${num1} ${operator} ${num2} is ${result}`); }); const port = 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); }); ``` 这个代码将创建一个Express应用程序,并使用body-parser来解析POST请求中的参数。然后,我们使用`express.static`中间件来提供静态文件服务,其中`public`是一个包含HTML和CSS文件的文件夹。 接下来,我们定义两个路由: 1. `GET /` - 返回一个包含计算器界面的HTML文件 2. `POST /calculate` - 接收表单提交的参数,执行计算逻辑并返回结果 最后,我们启动服务器并监听3000端口。 接下来,我们创建一个名为`public/index.html`的文件,并添加以下代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Node.js Calculator</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Node.js Calculator</h1> <form action="/calculate" method="POST"> <input type="number" name="num1" required> <select name="operator" required> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="number" name="num2" required> <button>Calculate</button> </form> <script src="app.js"></script> </body> </html> ``` 这个代码将创建一个包含表单的HTML文件,其中包含两个数字输入框和一个下拉菜单(用于选择操作符)。当用户点击“Calculate”按钮时,表单将提交到`/calculate`路由。 最后,我们创建一个名为`public/app.js`的文件,并添加以下代码: ```javascript const form = document.querySelector('form'); const resultDiv = document.createElement('div'); document.body.appendChild(resultDiv); form.addEventListener('submit', async (event) => { event.preventDefault(); const formData = new FormData(form); const response = await fetch('/calculate', { method: 'POST', body: formData }); const result = await response.text(); resultDiv.textContent = result; }); ``` 这个代码将使用JavaScript来监听表单的提交事件,并使用`fetch`函数将表单数据提交到服务器。当服务器返回结果时,JavaScript将在页面上显示结果。 最后,我们创建一个名为`public/style.css`的文件,并添加以下代码: ```css body { font-family: sans-serif; margin: 0; padding: 0; } h1 { text-align: center; } form { display: flex; flex-direction: column; align-items: center; margin-top: 50px; } input, select, button { font-size: 24px; margin: 10px; padding: 10px; } button { background-color: #4CAF50; color: white; border: none; } button:hover { cursor: pointer; } ``` 这个代码将为计算器界面添加一些样式。 现在,我们已经完成了Node.js网页计算器的开发。可以使用以下命令启动服务器: ``` node index.js ``` 然后,在浏览器中打开`http://localhost:3000`,就可以使用这个计算器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值