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实现PHP的print_r函数代码
Mar 14 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
nodejs加密Crypto的实例代码
Jul 07 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
Nodejs--post的公式详解
Apr 29 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 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
珊瑚虫IP库浅析
2007/02/15 PHP
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
JQuery中上下文选择器实现方法
2015/05/18 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
浅析vue深复制
2018/01/29 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python处理文本文件并生成指定格式的文件
2014/07/31 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
php优化查询foreach代码实例讲解
2021/03/24 PHP
村级个人对照检查材料
2014/08/22 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
降价通知函
2015/04/23 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android