首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取从HTML页面发布的数据到Node.Js / Express?

获取从HTML页面发布的数据到Node.Js / Express?
EN

Stack Overflow用户
提问于 2014-08-14 09:03:17
回答 1查看 1K关注 0票数 0

我是node.js / express的新手,我有一个问题。我找了好几个小时。

我正试图为我的基本博客制作一个管理面板,我需要发布:

title & content从HTML到my panel.js

以下是我尝试过的:

从HTML页面发布数据,它的工作原理是:

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function() {
    $('#but').click(function(e) {
      e.preventDefault();
     var title = document.getElementById('title');
      $.ajax({
          type: "POST",
          url: "/panel/save",
          data: title.value,
          dataType: "json"
    });


    });
  });

panel.js

代码语言:javascript
运行
AI代码解释
复制
var express = require('express');
var router = express.Router();
var app = express();


router.get('/', function(req, res) {
res.render('panel_html');

});

/* mysql things */

router.get('/save/', function(req, res) {
   var t = req.params.title;
    console.log("title :"+t);
});

module.exports = router;

错误报告:

代码语言:javascript
运行
AI代码解释
复制
14 Aug 20:49:33 - [nodemon] restarting due to changes...
14 Aug 20:49:33 - [nodemon] starting `node app.js`
GET /panel/ 304 11ms
GET /lib/semantic/build/packaged/javascript/semantic.js 304 4ms
GET /lib/semantic/build/packaged/css/semantic.css 304 5ms
GET /stylesheets/style.css 304 7ms
GET /lib/semantic/build/packaged/fonts/icons.svg 304 1ms
GET /lib/semantic/build/packaged/fonts/icons.woff 304 0ms
Error: Failed to lookup view "error" in views directory "...site/views"
    at Function.app.render (...site/node_modules/express/lib/application.js:492:17)
    at ServerResponse.res.render (...site/node_modules/express/lib/response.js:802:7)
    at Layer.module.exports [as handle] (...site/app.js:74:9)
    at trim_prefix (...site/node_modules/express/lib/router/index.js:235:17)
    at ...site/node_modules/express/lib/router/index.js:208:9
    at Function.proto.process_params (...site/node_modules/express/lib/router/index.js:269:12)
    at IncomingMessage.next (...site/node_modules/express/lib/router/index.js:199:19)
    at fn (...site/node_modules/express/lib/response.js:797:25)
    at Function.app.render (...site/node_modules/express/lib/application.js:494:14)
    at ServerResponse.res.render (...site/node_modules/express/lib/response.js:802:7)
POST /panel/save 500 11ms - 1.13kb

谷歌Chrome控制台:

代码语言:javascript
运行
AI代码解释
复制
POST http://127.0.0.1:3000/panel/save 500 (Internal Server Error) 
EN

回答 1

Stack Overflow用户

发布于 2014-08-14 09:20:05

首先,当您将title变量传递到ajax调用中时,请确保将它放在一个对象文本中,从而为它命名:

代码语言:javascript
运行
AI代码解释
复制
$.ajax({
  type: "POST",
  url: "/panel/save",
  data: { title: title.value },
  dataType: "json"
});

接下来,将您的router.get更改为router.post,以便它可以接受路由。接下来,您应该通过req.body访问您的后期数据。只需确保在此路由声明之前,您正在应用程序中的某个地方useing express的body-parser

代码语言:javascript
运行
AI代码解释
复制
router.post('/save/', function(req, res) {
   var t = req.body.title;
    console.log("title :"+t);
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25313596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档