vue+elementUI框架,nodejs+router搭建本地服务器,数据库用mongoose,axios请求碰到的一些问题

在做这个项目练手时碰到的一些问题记录一下,加深印象

服务器的目录层级如下:

一、简单的搭建一个服务器,如何划分路由

1.在搭建好的后端服务器  app.js 中导入路由,代码如下:

var express = require(‘express‘)

// 导入路由  用户
var user = require(‘./router/user.js‘)    

var app = express()

app.use(express.static(‘public‘))

// 在路由配置前添加以下代码  解决跨域问题
app.all(‘*‘, function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With,Content-Type");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    next();
});

app.use(‘/user‘,user);    //挂载路由,如果没有路由,或者只有/ ,映射到index路由

app.listen(3000, () => {
    console.log(‘Server Running...‘)
})

2.路由页面  user.js 代码如下:

var express = require(‘express‘);

// 导入 mongoose 数据库
var User = require(‘../mongoose/mongoose.js‘)

var router = express.Router();

router.get(‘/register‘,function(req, res, next) {
    console.log(req)
    res.send(‘请求数据成功‘)
})

module.exports = router;

二、如何引用数据库

在上述步骤当中,在 user.js 内已经导入mongoose 数据库,现在挂上数据库 mongoose。js 文件代码如下:

var mongoose = require("mongoose")

// mongoose.connect(‘mongodb://数据库的ip地址:端口号/数据库名‘);
mongoose.connect(‘mongodb://localhost:27017/txl‘)

// 通过Schema来创建Model
// Model代表的是数据库中的集合(users),通过Model才能对数据库进行操作
// mongoose.model(modelName,schema) (集合名,Schema)
// modelName 就是要映射的集合名,mongoose会自动将集合名变成复数
var Schema = mongoose.Schema;

// 定义一个user的Schema
var UserSchema = new Schema({
    username : { type: String },                // 用户账号
    password: { type: String },                 // 密码
    email: { type: Number },                    // 邮箱
    birthday : { type: Date },                  // 出生年月
    qq : { type: String },                      // QQ
    tel: { type: String },                      // 手机
    gender : { type: String },                  // 性别
    signature : { type: String }                // 个性签名
});

// 监听连接状态
mongoose.connection.on(‘connected‘, function () {
    console.log(‘Mongoose connection open to ‘ + ‘mongodb://localhost:27017/txl...‘);
});
mongoose.connection.on(‘error‘,function (err) {
    console.log(‘Mongoose connection error: ‘ + err + ‘...‘);
});
mongoose.connection.on(‘disconnected‘, function () {
    console.log(‘Mongoose connection disconnected...‘);
});  

// 对上面的定义的user的schema生成一个User的model并导出
module.exports = mongoose.model(‘User‘,UserSchema);

三、前端页面发送数据请求

1. npm i axios

2. 在 main.js 中插入如下代码:

// axios 发送请求
import axios from ‘axios‘
Vue.prototype.$ajax = axios

3. 在所需页面使用 axios 发送数据请求

this.$refs[formName].validate((valid) => {
    if (valid) {
        this.$ajax.get(‘/user/register‘, { data }).then((resData) => {
          console.log(resData)
        })
    } else {
      return false
    }
})

4.做好这些之后,会报错

因为 vue 是 8080 的端口,而本地服务器是 3000 的端口,存在跨域问题,解决这个问题要在 vue项目 config 文件夹下的 index.js 文件内进行配置

找到 proxytable属性,进行如下配置:

proxyTable: {
    ‘/‘:{
        target:‘http://127.0.0.1:3000‘,
        changeOrigin: true
    }
},

打开界面,发送请求显示

则服务器代理成功

  

原文地址:https://www.cnblogs.com/plb2307/p/10565218.html

时间: 2024-07-30 06:39:32

vue+elementUI框架,nodejs+router搭建本地服务器,数据库用mongoose,axios请求碰到的一些问题的相关文章

json server的简单使用(附:使用nodejs快速搭建本地服务器)

作为前端开发人员,经常需要模拟后台数据,我们称之为mock.通常的方式为自己搭建一个服务器,返回我们想要的数据.json server 作为工具,因为它足够简单,写少量数据,即可使用. 安装 首先需要安装nodejs,建议使用最新版本.然后全局安装json server. npm install json-server -g 安装完成后可以用 json-server -h 命令检查是否安装成功,成功后会出现json-server相关的参数选项. 运行 安装完成后,可以在任一目录下建立一个 xxx

如何使用nodejs快速搭建本地服务器

1.首先要安装好node,js 2.以下有安装包下载的链接:这里的安装包是.msi,如果要其他的,可以到菜鸟教程上去找 32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi: 64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi: 3.安装好了,我们打开cmd,输入命令行1:node -v,    这里是查询node版本,如果出现以下界面说明已经

iOS开发网络篇—搭建本地服务器

iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz jdk-8u5-macosx-x64.dmg 二.安装和配置本地服务器环境(java)步骤: (1)在文档路径下,新建一个文件夹(NetWord),解压eclips

微信公众号开发技术基础(一):Eclipse+Tomcat搭建本地服务器并跑通HelloWorld程序

本文结构:(一)环境准备(二)在Eclipse里创建Dynamic Web工程(三)写一个简单的Servlet类并配置web.xml(四)运行程序 (一)环境准备 1.Eclipse:要使用for JavaEE版本的Eclipse,因为要创建Dynamic Web(动态Web)程序,这里使用eclipse-jee-mars-1-win32-x86_64版本.Eclipse是绿色软件,下载后解压缩即可打开使用. 百度网盘下载链接:https://pan.baidu.com/s/1dFvaKrJ 2

IIS搭建本地服务器,花生壳实现外网通过域名访问网站

配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是区别好大) 一.涉及内容 目的: 1.搭建本地服务器   2.让外网用户能够访问本地   3.获得免费域名  4.使用域名访问 内容:  1.使用花生壳和IIS配置本地服务器 2.参考(相关)网址 大致步骤: 1.ISS的启动 2.网站的添加 3.ISS中IP的选择 4.花生壳的使用 注:本文演示的

mac搭建本地服务器

目录 基础部分 1234 启动服务器添加自定义文档到本地服务器查看自定义效果手机/其他电脑 访问本机服务器 说明:本地开发需要搭建本地服务器进行页面的调试,mac系统自带apache服务,本篇日志是针对于mac系统搭建自己的本地服务器教程. 1- 启动服务器 123 sudo apachectl start 启动sudo apachectl restar 重新启动sudo apachectl stop 停止 打开终端:执行 sudo apachectl start 启动服务器,打开浏览器,地址栏

微信小程序开发入门(一),Nodejs搭建本地服务器

1.  如何模拟真实环境中,读取服务端数据,首先需要使用Nodejs搭建一个本地服务器的环境. 在搭建web服务器之前,需要先安装node.js(安装版本最好为6.9.x) 安装后node.js,接下来就需要安装http的镜像文件 npm install http-server -g(windows下)sudo npm install http-server -g(linux和mac下)接下来在桌面创建一个文件夹 cd 文件夹名字http-server这时候,就会显示在8080端口下运行的一个本

使用第三方框架vapor和swift 搭建本地服务器

在网上看到一篇教程,使用vapor搭建服务端,自己记录下来备忘本文主要记录以下几点 1.配置好Vapor 2.用Swift写GET,POST方法,返回JSON数据 3.配置本地服务器,编译运行在浏览器访问 http://localhost:8080 查看返回数据 4.在Heroku上部署自己的云服务器, 访问 https://limice.herokuapp.com 查看返回数据 一. 安装Vapor,推荐查看官方教程 地址:https://vapor.github.io/documentati

iOS开发网络篇—搭建本地服务器(待整理)

  一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz jdk-8u5-macosx-x64.dmg 二.安装和配置本地服务器环境(java)步骤: (1)在文档路径下,新建一个文件夹(NetWord),解压eclipse压缩包文件 (2)先安装jd