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 url验证(url-valid)的使用方法
Nov 18 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 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学习之字符串比较和查找
2011/04/17 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
jquery JSON的解析方式
2009/07/25 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
Python实现的微信红包提醒功能示例
2019/08/22 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python模块导入的方法
2019/10/24 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
毕业生个人的求职信范文
2013/12/03 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
高中生的自我评价
2014/03/04 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
副总经理任命书
2014/06/05 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
道歉短信大全
2015/05/12 职场文书
入团介绍人意见范文
2015/06/04 职场文书
争做文明公民倡议书
2019/06/24 职场文书