我知道在SO上不乏CORS
个问题,但在这种情况下没有一个能对我有所帮助:
我想使用此jQuery代码段从localhost后端获取JSON数据:
var SERVER_URL = "http://127.0.0.1:8080";
$.getJSON(SERVER_URL,function(result){
console.log("result is", result);
$.each(result, function(i, field){
$("div").append(field + " ");
});
});
使用以下简单节点静态文件服务器将代码段加载到index.html
上并在http://localhost:3000/index.html
上运行:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(3000, function(){
console.log('Server running on 3000...');
});
但是在Chrome控制台中,我得到了:
Failed to load http://127.0.0.1:8080/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
我在Firefox中遇到了同样的问题。
我该如何解决?
答案 0 :(得分:0)
安装cors
软件包
npm install cors
并像这样使用
var cors = require('cors');
const corsOptions = {
methods: "GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE", // use to manage api cross origin error
origin: '*'
}
OR
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('CORS-enabled web server listening on port 80')
})
运行此命令,它将打开新的镶边,并在此处运行您的代码
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
答案 1 :(得分:0)
您应该在服务器上设置标头android:layout_marginTop="your_value"
。
您应该采取的方式取决于您的服务器端语言。
例如:PHP
Access-Control-Allow-Origin: *