违反了内容安全政策指令。从源头开始对XMLHttpRequest的访问已被CORS政策禁止

时间:2019-05-09 14:02:47

标签: javascript node.js mean-stack angular-fullstack cors-anywhere

错误是

从原点“ chrome-search:// local-ntp”对“ https://play.google.com/log?format=json&hasfast=true&authuser=0”处XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:“ Access- “ Control-Allow-Origin”标头的值“ http://play.google.com”不等于提供的来源。

我编写了一个简单的Node.js代码以从MongoDB中获取数据

下面是我的index.js

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('./db.js');
var contactusController = require('./controllers/contactusController.js')
var app = express();
app.use(bodyParser.json);
app.use(cors({origin : 'http://localhost:4200'}));
app.listen(3000, () => console.log('server started at port 3000'));
app.use('/contactus', contactusController);

这是我的db.js

 const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/equippp', (err) => {
  if(!err)
     console.log("DB connected successfully");
   else
     console.log('Error in DB:'+JSON.stringify(err,undefined,2));
 });
 module.exports = mongoose;

这是contactusController.js控制器

 const express = require('express');
 var router = express.Router();
 var {Contactus} = require('../models/contact');
 var mongodb = require("mongodb");
 router.get('/', (req,res) => {
  Contactus.find((err, docs) => {
    if(!err) { res.send(docs); }
    else{ console.log('Errors:' + JSON.stringify(err,undefined,2));}
  });
});

router.post('/', (req, res) => {
  var contact = new Contactus({
    name : req.body.userName,
    email : req.body.email,
    message : req.body.message
});

contact.save((err,doc) => {
    if(!err) {res.send(doc)}
    else{console.log(JSON.stringify(err,undefined,2))}
  })
});
module.exports = router;

这是我的employee.js模型

 var mongoose = require('mongoose');
 var Contactus = mongoose.model('contactus', {
   name: {type:String},
   email: {type:String},
   message: {type:String}
 });
 module.exports = {Contactus : Contactus};

可能是该错误的原因。我已经用Google搜索并实现了我发现的所有解决方案。但是,似乎没有任何作用。我想从两天后开始解决问题。

请帮助。在此先感谢!!

0 个答案:

没有答案