Javascript 重定向Url不起作用,并且没有得到';访问控制允许原点';标题错误
我试图从我的应用程序向Nodejsserver发送Ajax请求,但是得到了这个错误Javascript 重定向Url不起作用,并且没有得到';访问控制允许原点';标题错误,javascript,node.js,ajax,express,Javascript,Node.js,Ajax,Express,我试图从我的应用程序向Nodejsserver发送Ajax请求,但是得到了这个错误 Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 我使用ajax调用向服务器(nodejs)发送请求,服务器依次返回url,在成功函数中,应该重定向服务器发送的url //nod
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我使用ajax调用向服务器(nodejs)发送请求,服务器依次返回url,在成功函数中,应该重定向服务器发送的url
//nodejs app.js
var express = require('express');
var app = express();
var cors = require('cors');
var link= require('./routes/link');
app.use('/quote', link);
app.use(cors());
module.exports = app;
//link.js
var express = require('express');
var app = express();
var cors = require('cors');
var router = express.Router();
router.get('/', function (req, res) {
res.send({ redirectUrl: "https://www.google.com" });
});
module.exports=router;
//frontend
$.ajax({
method: 'get',
url: '/quote',
data: {
id: "1",
cn: "IN",
},
success: function (result) {
window.location.href = result.redirectUrl; // url got from server
},
error: function (request, status, error) {
console.log(request.error);
}
});
您可以自定义cors而不是
app.use(cors())代码>如下所示:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "*");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
让我们试试看。在这里订购物品只需移动“app.use(cors());“over”app.use('/quote',link);“像这样。我怀疑您是否需要填写cors中的自定义字段,正确的顺序应该可以解决此问题
//nodejs app.js
var express = require('express');
var app = express();
var cors = require('cors');
var link= require('./routes/link');
app.use(cors());
app.use('/quote', link);
...
我已经试过了,但这不起作用,我得到了result
作为未定义的
以及success function result未定义,我认为cors没问题。result未定义,cors正常。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标题。
抱歉未定义错误函数窗口中的was控制台。location.href=result.redirectUrl;这是您的问题,您可以这样做:window.location.href=result;