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

 更新时间:2018年03月21日 16:46:53   作者:Self_Growing  
这篇文章主要介绍了利用nodejs搭建本地服务器 解决跨域问题,需要的朋友可以参考下

最近把以前用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,进行安装静态文件服务器,安装完如下图显示:

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

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

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

总结

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

相关文章

  • node如何实现简单的脚手架浅析

    node如何实现简单的脚手架浅析

    在工作中,需要开发一个脚手架,用于给相关用户提供相关的开发便利性,下面这篇文章主要给大家介绍了关于node如何实现简单的脚手架的相关资料,需要的朋友可以参考下
    2022-05-05
  • NodeJS中的MongoDB快速入门详细教程

    NodeJS中的MongoDB快速入门详细教程

    MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写。这篇文章主要介绍了NodeJS中的MongoDB快速入门详细教程的相关资料,需要的朋友可以参考下
    2016-11-11
  • 浅谈KOA2 Restful方式路由初探

    浅谈KOA2 Restful方式路由初探

    这篇文章主要介绍了浅谈KOA2 Restful方式路由初探,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • node.js实现逐行读取文件内容的代码

    node.js实现逐行读取文件内容的代码

    这篇文章主要介绍了node.js实现逐行读取文件内容的代码,本文还介绍了一个node.js的按行读取内容开源项目,需要的朋友可以参考下
    2014-06-06
  • Node.js版本发布策略频率与稳定性的平衡

    Node.js版本发布策略频率与稳定性的平衡

    这篇文章主要为大家介绍了Node.js版本发布策略频率与稳定性的平衡,帮助大家大家更清晰了解node发展史,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 关于访问node express中的static静态文件方法

    关于访问node express中的static静态文件方法

    这篇文章主要介绍了关于访问node express中的static静态文件方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 使用npm安装最新版本nodejs

    使用npm安装最新版本nodejs

    本文给大家分享的是如何使用npm安装最新版本nodejs的方法,主要用到了nodejs版本管理模块n,非常的好用,有需要的小伙伴可以参考下
    2018-01-01
  • nodejs实现获取本地文件夹下图片信息功能示例

    nodejs实现获取本地文件夹下图片信息功能示例

    这篇文章主要介绍了nodejs实现获取本地文件夹下图片信息功能,涉及node.js针对文件、目录的遍历、读取等相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • 基于NodeJS的前后端分离的思考与实践(二)模版探索

    基于NodeJS的前后端分离的思考与实践(二)模版探索

    在传统的开发模式中,浏览器端与服务器端是由不同的前后端两个团队开发,但是模版却又在这两者中间的模糊地带。因此模版上面总不可避免的越来越多复杂逻辑,最终难以维护。
    2014-09-09
  • Windows 系统下安装和部署Egret的开发环境

    Windows 系统下安装和部署Egret的开发环境

    Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js 开发的。所以在安装过程中,我们先需要对于基础支持工具进行安装。
    2014-07-07

最新评论