我已经使用了iternet的一些代码到我的项目中。但我不清楚为什么他们使用“Access-Control-Allow-Origin”,“*”声明。该声明是否应该被要求?我们不能忽视这种说法吗?使用此声明的确切原因是什么?谢谢。
//route.js
const Express= require('express');
const router= Express.Router();
const Controller= require('../controller/Controller');
router.get('/getBook', function (req,res) {
Controller.getBook().then(function (data) {
res.header("Access-Control-Allow-Origin", "*");
res.status(data.status).send({allBook: data.bookData})
}).catch(function (err) {
res.status(err.status).send({message: err.message})
})
});
router.post('/createBook', function (req,res) {
Controller.createBook(req.body).then(function (data) {
res.header("Access-Control-Allow-Origin", "*");
res.status(data.status).send({message: data.Message})
}).catch(function (err) {
res.status(err.status).send({message: err.message})
})
});
router.get('/getBook/author', function (req,res) {
Controller.searchBook(req.query.name).then(function (data) {
res.header("Access-Control-Allow-Origin", "*");
res.status(data.status).send({searchedBooks: data.bookData})
}).catch(function (err) {
res.status(err.status).send({message: err.message})
})
});
module.exports=router;
这是我使用mongoose创建数据库模式的代码,我想创建一个名为price的属性,数据类型为double。但它无效。适合的数据类型是什么?//dbConfig.js
var mongoose= require('mongoose');
const schema= mongoose.Schema;
const bookSchema = schema({
name:String,
price:Double,
author:String
})
mongoose.model('books',bookSchema);
mongoose.connect('mongodb://127.0.0.1:27017/Library', function (err) {
if(err){
console.log("connection failed");
process.exit(-1);
}console.log("Database established successfully");
})
module.exports=mongoose;
//app.js
const Express= require('express');
const app= Express();
const bodyparser= require('body-parser');
const route= require('./routes/route');
app.use(bodyparser.json());
app.use('/',route);
app.listen(8083,'localhost',function (err) {
if(err){
console.log("Connection Failed");
process.exit(-1);
}console.log("Listening to port 8083");
})
发布于 2018-12-08 09:19:47
由于原始策略相同,浏览器通常会阻止对作为原始域的其他域的所有通信
使用CORS标头,浏览器被告知域允许来自antoher来源。
当您从同一个域提供内容时,您不必担心CORS标头。当您希望从其他域调用您的快速应用程序时,您必须处理跨源资源共享。
更具体:
Access-Control-Allow-Origin: http://www.example.com
https://stackoverflow.com/questions/-100003026
复制相似问题