nodejs搭建本地服务器轻松解决跨域问题


Posted in NodeJs onMarch 21, 2018

最近把以前用jquery写的一个小demo拿出来运行的,刚开始的时候忘了开启本地服务导致控制台一直报XMLHttpRequest cannot load file:///C:/Users/79883/Desktop/ajax/data.json?{%22username%22:%22lcl@qq.com%22,%22pwd%22:%22Home20170702%22}. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.然后我就去启动自己写的server.js服务器,在这过程中,感觉这种方式挺麻烦的,就一直去尝试了其它的方式什么去改浏览器属性等都试过了但是都没有解决跨域问题,最终得出两种有效方式,在这里我就把这两种方式一起介绍大家。

一、使用 Node 创建 Web 服务器

注:Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端,下面就是简单的服务器实现过程:

1、编写服务器代码server.js

var http = require('http'); 
var fs = require('fs');//引入文件读取模块 
var documentRoot = 'C:/Users/79883/Desktop/jquery/ajax';//需要访问的文件的存放目录 
var server= http.createServer(function(req,res){ 
  //客户端输入的url,例如如果输入localhost:8888/index.html 
 //那么这里的url == /index.html 
 var url = req.url; 
 var file = documentRoot + url; 
 console.log(url); 
 fs.readFile( file , function(err,data){ 
 /* 
  一参为文件路径 
  二参为回调函数 
   回调函数的一参为读取错误返回的信息,返回空就没有错误 
   二参为读取成功返回的文本内容 
 */ 
  if(err){ 
   //HTTP 状态码 404 : NOT FOUND 
   //Content Type:text/plain 
   res.writeHeader(404,{ 
    'content-type' : 'text/html;charset="utf-8"' 
   }); 
   res.write('<h1>404错误</h1><p>你要找的页面不存在</p>'); 
   res.end(); 
  }else{ 
   //HTTP 状态码 200 : OK 
   //Content Type:text/plain 
   res.writeHeader(200,{ 
    'content-type' : 'text/html;charset="utf-8"' 
   }); 
   res.write(data);//将index.html显示在客户端 
   res.end(); 
  } 
 }); 
}).listen(8888); 
console.log('服务器开启成功');

通过上面代码,我们就能够实现服务器对于文件的查找,下面,我们就进行创建一个html文件,然后通过浏览器进行访问。

2、编写html文件(index.html),用于浏览器进行请求

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>index</title> 
</head> 
<body> 
 这是一个用于进行nodejs服务器测试的html文件,通过在浏览器上面输入 
 http://127.0.0.1:8888/index.html(自己所建的项目名)进行访问 
</body> 
</html>

3、进行测试

    (1) 首先我们启动服务器,打开cmd,找到项目所在位置,然后输入命令node server.js启动服务器

    (2) 在浏览器进行访问,在url栏中输入http://127.0.0.1:888/index.html

如果对应页面显示出来就证明你成功了。接下来我将介绍nodejs快速搭建本地服务,也就是我说的第二种方法。

二、使用nodejs快速搭建本地服务

注:node.js 的anywhere就是随时随地将你的当前目录变成一个静态文件服务器的根目录

1、首先打开cmd,输入node -v检测你确定你是否安装好了node.js,然后输入命令npm install angwhere -g,进行安装静态文件服务器,安装完如下图显示:

nodejs搭建本地服务器轻松解决跨域问题

2、在cmd页面 找到你想搭建服务器的路径

3、然后再当前路径下输入: anywhere 8888  如下图显示

nodejs搭建本地服务器轻松解决跨域问题

4、回车后,浏览器就自动打开本地访问网址,一个简单的node服务器就这样被我们搭建好啦!

总结

以上所述是小编给大家介绍的nodejs搭建本地服务器轻松解决跨域问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
nodejs入门详解(多篇文章结合)
Mar 07 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 NodeJs
Nodejs中的this详解
Mar 26 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
NodeJS连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
nodejs学习笔记之路由
Mar 27 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
Nodejs libuv运行原理详解
Aug 21 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 NodeJs
nodejs中密码加密处理操作详解
Mar 20 #NodeJs
nodejs连接mysql数据库及基本知识点详解
Mar 20 #NodeJs
nodejs基于express实现文件上传的方法
Mar 19 #NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 #NodeJs
nodejs实现超简单生成二维码的方法
Mar 17 #NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 #NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 #NodeJs
You might like
php cookis创建实现代码
2009/03/16 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python 构造三维全零数组的方法
2018/11/12 Python
python学生信息管理系统实现代码
2019/12/17 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
美发活动策划书
2014/01/14 职场文书
简历里的自我评价范文
2014/02/24 职场文书
党员大会主持词
2014/04/02 职场文书
本科生就业推荐信
2014/05/19 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
Elasticsearch 数据类型及管理
2022/04/19 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript