Javascript 尝试从html表单和Node.js发送数据
我只是尝试在不使用Angular、React或其他框架库的情况下,将数据从静态html页面操纵到Node.Js。我已经安装了所有的依赖项,节点正在为我的index.html服务,但是,我似乎无法让我的post方法工作。我甚至无法将其发送到console.log。我已经查看了其他堆栈溢出问题和文档,但似乎无法找出问题所在 这是我的代码和文件结构 HTML: json:Javascript 尝试从html表单和Node.js发送数据,javascript,html,node.js,Javascript,Html,Node.js,我只是尝试在不使用Angular、React或其他框架库的情况下,将数据从静态html页面操纵到Node.Js。我已经安装了所有的依赖项,节点正在为我的index.html服务,但是,我似乎无法让我的post方法工作。我甚至无法将其发送到console.log。我已经查看了其他堆栈溢出问题和文档,但似乎无法找出问题所在 这是我的代码和文件结构 HTML: json: 我已经验证了您的代码,它运行得非常好 在使用city=Test提交时,我在浏览器中看到这个Json响应:{“city”:“Test
我已经验证了您的代码,它运行得非常好 在使用city=Test提交时,我在浏览器中看到这个Json响应:
{“city”:“Test”}
另外,我很高兴看到你的日志报表打印出来。但是请记住,您的console.log()
语句是node.js
服务器代码的一部分,这意味着您的日志语句将打印在服务器日志中,而不是在浏览器控制台中。如果您使用node server.js从终端运行节点服务器,您将看到您的日志打印在终端中
如果您多次修改了依赖项的版本,请删除节点\u模块
目录,然后再次尝试运行npm安装
。我刚刚在本地进行了测试,在我将\u目录名
更改为\u目录名
后,该功能正常。编辑文件后是否结束/杀死节点服务器?我进行了更改并重新启动了节点。我刚刚更新到v1.11.0,也许这与此有关。我被难住了,这是金子。我几乎要去deepweb删除这些信息了。t不确定是否是因为更新的依赖关系,但帖子不会登录终端。我将我的package.json添加到post线程。@lonniemggill我也尝试过使用你的package.json,效果很好。如果您多次尝试更改依赖项的版本,只需删除node\u modules
文件夹,然后再次运行npm install
。我重新安装了所有内容,它可以正常工作。设置依赖项后,我更新到节点1.11.0。我不认为我需要删除json和节点模块,因为我没有更改依赖项版本,但看起来你需要。谢谢
<form id="citySearchForm" action="http://127.0.0.1:3000/getcity" method="POST">
<div>
<p>Choose a city:</p>
<input type="text" placeholder="Enter a city" id="getCitiesInput" name="city"></input>
<input type="submit" value="submit">
</div>
<div id="weather"></div>
<p><span id="temp"></span></p>
<p><span id="wind"></span></p>
</form>
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false});
app.use(express.static('public'));
app.get('/index.html', function(req, res){
res.sendFile(_dirname + "/" + "index.html");
})
app.post('/getcity', urlencodedParser, function(req, res){
response = { city : req.body.city };
console.log(response);
res.end(JSON.stringify(response));
})
app.listen(3000, function() { console.log('listening')});
{
"name": "basic_weather_api",
"version": "1.0.0",
"description": "Just a basic api call",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.16.0",
"express": "^4.14.1"
}
}