在一个项目上想用NodeJS,在前端的js(http://localhost/xxx)中ajax访问后端RestAPI(http://localhost:3000/….)时(Chrome)报错:

XMLHttpRequest cannot load http://localhost:3000/auth/xxx/xxx. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

解决代码:

方案一:
  1. var express = require('express');
  2. var app = express();
  3. //设置跨域访问
  4. app.all('*', function(req, res, next) {
  5. res.header("Access-Control-Allow-Origin", "*");
  6. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  7. res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  8. res.header("X-Powered-By",' 3.2.1')
  9. res.header("Content-Type", "application/json;charset=utf-8");
  10. next();
  11. });
  12. app.get('/auth/:id/:password', function(req, res) {
  13. res.send({id:req.params.id, name: req.params.password});
  14. });
  15. app.listen(3000);
  16. console.log('Listening on port 3000...');

方案二:

    1. var express = require('express');
    2. var app = express();
    3. app.get('/auth/:id/:password', function(req, res) {
    4. res.header("Access-Control-Allow-Origin", "*");   //设置跨域访问
    5. res.send({id:req.params.id, name: req.params.password});
    6. });
    7. app.listen(3000);
    8. console.log('Listening on port 3000...');

解决NodeJS+Express模块的跨域访问控制问题:Access-Control-Allow-Origin的更多相关文章

  1. Node+Express的跨域访问控制问题:Access-Control-Allow-Origin

    问题一:项目A通过Ajax访问项目B的接口,获取json数据,项目B采用Node+Express技术栈.项目A可能遇到跨域访问控制问题. 问题二:vue-resource 能够跨域,一般使用jsonp ...

  2. nodejs(15)express开启cors跨域

    express开启cors跨域 package.json "dependencies": { "body-parser": "^1.18.3" ...

  3. express 设置允许跨域访问

    //demo const express = require('express'); const app = express(); //设置允许跨域访问该服务. app.all(’’, functio ...

  4. express设置允许跨域访问该服务.

    const express = require('express');const app = express(); //设置允许跨域访问该服务.app.all('*', function (req, ...

  5. vue 解决axios请求出现前端跨域问题

    vue 解决axios请求出现前端跨域问题 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问题.这就让我很难受.查询了资料原来是跨域的问题. 在正常开发中 ...

  6. 【windows 访问控制】七、window 访问控制编辑器(Access Control Editor)

    window 访问控制编辑器(Access Control Editor) 右键(文件.目录.程序)>选择属性>安全>高级   进入访问控制编辑器

  7. nodejs服务实现反向代理,解决本地开发接口请求跨域问题

    前后端分离项目需要解决第一个问题就是,前端本地开发时如何解决通过ajax请求产生的跨域的问题.一般的做法是通过本地配置nginx反向代理进行处理的,除此之外,还可以通过nodejs来进行代理接口.当然 ...

  8. express和cors跨域

    使用express框架: Express: Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能. Express 框架核 ...

  9. 解决异地服务器接口访问跨域,node构建反向代理

    跨域对于前端来说是一个老大难的问题,许多方法如jsonp.document.domain + iframe...都有或多或少的问题,一个最佳实践就是通过服务器nginx做反向代理,但奈何不懂相关知识, ...

随机推荐

  1. Codeforces Round #311 (Div. 2) A,B,C,D,E

    A. Ilya and Diplomas 思路:水题了, 随随便便枚举一下,分情况讨论一下就OK了. code: #include <stdio.h> #include <stdli ...

  2. ielowutil.exe应用程序错误解决方法

    转载: http://wenda.so.com/q/1484111785202192 控制台方法: .按住“Window”+“R”->输入“cmd”->确定 .输入“ ”->回车-& ...

  3. android签名,制作key

    签名具体步骤: Apk签名首先要有一个keystore的签名用的文件. keystore是由jdk自带的工具keytool生成的.具体生成方式参考一下: 开始->运行->cmd->c ...

  4. oracle如何给指定用户修改密码?

    1.用system用户登录, 2.执行如下sql: alter user 用户名 identified by 新密码; 比如alter user scott identified by 123456; ...

  5. idea下maven项目增加依赖项目里面没有添加相关依赖jar

    困扰了一晚上的问题,一般在pom.xml中增加了相关依赖,idea会自动将依赖的Jar包增加到maven项目中,但是在pom.xml中增加了依赖,项目中并没有 偶然打开idea的侧边栏maven工具栏 ...

  6. 170330、Spring中你不知道的注入方式

    前言 在Spring配置文件中使用XML文件进行配置,实际上是让Spring执行了相应的代码,例如: 使用<bean>元素,实际上是让Spring执行无参或有参构造器 使用<prop ...

  7. A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie

    Title http://www.cse.msu.edu/~alexliu/publications/Cookie/cookie.pdf AbstractCookies are the primary ...

  8. Apache Kafka源码分析 – Controller

    https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Controller+Internalshttps://cwiki.apache.org ...

  9. Storm-源码分析- Multimethods使用例子

    1. storm通过multimethods来区分local和distributed模式 当调用launch-worker的时候, clojure会自动根据defmulti里面定义的fn来判断是调用哪 ...

  10. 原型模式(Prototype Pattern)--对象的克隆

    定义:使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象; 原型类的核心在于如何实现克隆方法: 能够实现克隆的Java类必须实现一个标识接口Cloneable,表示这个类支持被复制; 通 ...