需要访问其他域网址

时间:2019-10-18 16:13:04

标签: node.js express cors

我需要从以下URL加载页面:https://medalist-a805c.web.app/HeardSuggest_Medalist.html实际上是从Express服务器加载页面。我可以使用快速中间件cors。但是问题是,即使我需要加载以下网址:https://www.alwaysheard.com/embed/Medalist/brand/ $ 2a $ 10 $ Z9ib22YZyRWWZz / Vlzju3u9eZCZM.a8oUYorNPsKGzLPKu6vM696K?uname = embed&orgin = https%3A%2F%2Fwww.alwaysheardcom。

我面临的怪异问题是,它总是返回主页而不是我尝试获取的URL:https://www.alwaysheard.com/embed/Medalist/brand/ $ 2a $ 10 $ Z9ib22YZyRWWZz / Vlzju3u9eZCZM.a8oUYorNPsKGzLPKu6vM696K?uname = embed&orgin = https %2F%2Fwww.alwaysheard.com

任何帮助将不胜感激。非常感谢。

这是用于expressjs服务器的。

这是我最喜欢的通话代码:

$.ajax({
        url: _url,
        data: { uname: "embed", orgin: _origin },
        // dataType: 'json',
        crossDomain: true,
        type: "GET",
        mode: 'no-cors',
        headers: {
            'mode': 'no-cors',
            // "X-TOKEN": 'xxxxx',
            // 'x-Trigger': 'CORS',
            // 'Access-Control-Allow-Headers': 'x-requested-with',
            // "Access-Control-Allow-Origin": "*",
            // 'Authorization': 'Bearer fadsfasf asdfasdf'
        },
        success: function (data) {
            console.log("data: ", data);
            $("body").html(data);
        }
    });

在后端,我正在使用app.use(cors());

1 个答案:

答案 0 :(得分:0)

Your URL首先将302重定向返回到主页,然后$.ajax()系统(实际上是其下的XMLHttpRequest系统)将自动跟随该重定向。

您可以在此处查看有关该主题的讨论:

How to prevent ajax requests to follow redirects using jQuery

在较新的浏览器中,您可以改用fetch()界面,它包含一个redirect option,允许您告诉它不要遵循重定向。

仅供参考,目前尚不清楚您实际上要完成什么。没有要从this URL检索的“页面”。这将返回302状态和一些标题,没有页面。


如果您不清楚,your long url返回以下响应:

HTTP/1.1 302 Found
Date: Fri, 18 Oct 2019 17:04:05 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 23
Connection: keep-alive
Server: nginx/1.14.1
Access-Control-Allow-Origin: *
Set-Cookie: _csrf=j6JfsEb_JbmSJlvHDoyhgatS; Path=/
Set-Cookie: connect.sid=s%3A8C1PVNBcm5395dwmPJ4Xbl7BNASxPH4W.WFZ6uz3NklxaObnWvZaZXI%2BoH5VdM9dnOi2VCTw3J%2BI; Path=/; Expires=Mon, 15 Oct 2029 17:04:05 GMT; HttpOnly
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
Location: /
Vary: Accept

此内容是通过curl -l -v yourlongurl检索的。