var http = require("http"); var url1 = require("url"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); var path = url1.parse(request.url).pathname; if(path == "/addition") { console.log("Request for add recieved\n"); var urlObj = url1.parse(request.url, true); var number1 = urlObj.query["var"]; var number2 = urlObj.query["var2"]; var num3 = parseInt(number2); var num4 = parseInt(number1); var tot = num3 + num4; response.write(tot); response.write(number1 + number2); } else { response.write("Invalid Request\n"); } response.end(); }).listen(8889); console.log("Server started.");
`http://localhost:8889/addition?var=1&var2=20`
我得到以下错误:
http.js:593抛出新的TypeError(“第一个参数必须是字符串或缓冲区”);
当我注释掉显示变量'tot'的行时,代码正在运行,我得到的输出是我传递的2个get参数的级联值。在这种情况下,恰好是1+20=120。我无法将数据转换成数字格式。
事先多谢。
您将数字传递给response.write,而它们应该是字符串。像这样:
response.write(total + '');
变量total包含数字21,因为您在求和之前通过parseInt()传递了查询参数。当通过response.write发送时,它将导致错误,除非您先将空字符串附加到字符串中,然后将其转换为字符串。Number1+Number2是可以的,因为它们是字符串,但是它们的“和”是“120”。
我建议也研究一下node.js包“express”。它处理了HTTP服务器的许多基本内容,因此您可以编写如下内容:
var express=require('express');
var app=express.createServer();
app.get('/add',function(req,res) {
var num1 = parseInt(req.query.var);
var num2 = parseInt(req.query.var2);
var total = num1 + num2;
res.send(total + '');
});
app.listen(8888);
问题内容: 我正在尝试使用将以下内容转换为JSON : 但这导致我 该错误很可能是由于dict包含,例如: 有人可以指导我,如何从字典中删除这些元素? 问题答案: 您可以尝试像这样清理它: 这将尝试将不是字符串的任何键转换为字符串。任何无法转换为字符串或不能表示为字符串的键都将被删除。
我试图使用lxml.html将“defer”属性放入脚本标记中,但我得到了错误 TypeError:参数必须是字节或unicode,获得“NoneType” 或 TypeError:set()正好接受2个位置参数(给定1个) 如果我用 根据http://lxml.de/lxmlhtml.html .set(key,value=None):设置HTML属性。如果未给定值,或者该值为None,则会创建
我知道很多人问过相关的问题,但请帮我解决。我试图复制一个我在网上找到的开源温度控制实验室。我想在树莓皮上运行它。这就是我一直遇到的错误: 生成它的代码如下所示: 我相信这段代码试图通过以下代码与另一个python文件通信: 我还不知道我周围的python代码,所以一个非常清晰的“虚拟类”解决方案的解释会很有帮助。谢谢伙计们。
问题内容: 需要帮忙。有一个名为arglist的数据列表,例如:[‘dlink’,’des’,‘1210’,’c’,24] <-这就是“打印”视图。 这段代码: 它给: 怎么了? 问题答案: 当json.loads需要一个字符串时,您正在尝试加载文件对象。您可以使用 或者更好: 在第一个示例中,文件是打开的,但从未关闭(不好的做法)。在第二个示例中,上下文管理器在离开上下文块后关闭文件。
我已经使用stencil一段时间了,正在为它开发一个自定义的主题,我已经安装了nvm和Node5.0和NPM2。我也删除了stencil,并重新安装了所有的内容,包括节点模块和stencil init,但不管什么情况,当运行stencil start时,我仍然会出现下面的错误,我已经在谷歌上搜索了这个问题,但却是空的,所以我希望有人能帮我解决这个问题。提前道谢!
我想对一个浮点数进行四舍五入,得到点后的两位数。但我收到了一个错误: float()参数必须是字符串或数字,而不是“NoneType” 在评级模型的评级字段中四舍五入是一个坏主意,因为平均_评级不会四舍五入