搞了两天终于不再报错了,看得我浑身发抖,大热天的全身冷汗,手脚冰凉,地狱空荡荡魔鬼在人间,这个社会还能不能好了?后台 到底要怎么活着你们才满意 ?眼泪不争气的流了下来 ,这个社会到处充斥着对后端的压迫,后端何时才能真正的站起来!
对于一心做前端的我来说,node后台这个跨域真的要搞死我,一直在报错
解决方法
1.安装expres (这里照搬官网原文了http://www.expressjs.com.cn/starter/installing.html)
首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。
$ mkdir myapp
$ cd myapp
通过 npm init
命令为你的应用创建一个 package.json
文件。 欲了解 package.json
是如何起作用的,请参考 Specifics of npm’s package.json handling.
$ npm init
此命令将要求你输入几个参数,例如此应用的名称和版本。 你可以直接按“回车”键接受大部分默认设置即可,下面这个除外:
entry point: (index.js)
键入 app.js
或者你所希望的名称,这是当前应用的入口文件。如果你希望采用默认的 index.js
文件名,只需按“回车”键即可。
接下来在 myapp
目录下安装 Express 并将其保存到依赖列表中。如下:
$ npm install express --save
如果只是临时安装 Express,不想将它添加到依赖列表中,可执行如下命令:
$ npm install express --no-save
2.放这段代码
var express = require('express');
var app = express();
app.all('*', function(req, res, next) { //深刻了解这次错误,以后不会再犯,跨域请求允许
res.header("Access-Control-Allow-Origin", "http://127.0.0.1:8080");
//这里最好不用*通配符,之前就这报错,写上指定域名例如 http://127.0.0.1:8080
res.header("Access-Control-Allow-Headers", "content-type");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("Access-control-Allow-Credentials","true");
//这个地方是最坑了,百度查了好多大佬给的方案都没加这条,报错一直报这个,加上就ok
next();
});
ok!!