Необходимо получить доступ к другому URL домена - PullRequest
0 голосов
/ 18 октября 2019

Мне нужно загрузить страницу с этого URL: https://medalist -a805c.web.app / HeardSuggest_Medalist.html , которая фактически загружает страницу с экспресс-сервера. Я могу использовать Cors, Express Middleware. Но проблема в том, что хотя мне нужно загрузить этот URL: https://www.alwaysheard.com/embed/Medalist/brand/$2a$10$Z9ib22YZyRWWZz/Vlzju3u9eZCZM.a8oUYorNPsKGzLPKu6vM696K?uname=embed&orgin=https%3A%2F%2Fwww.alwaysheard.com в конце концов.

Странная проблема, с которой я сталкиваюсь, заключается в том, что она всегда возвращает домашнюю страницу, а не URL-адрес, который я пытаюсь получить: https://www.alwaysheard.com/embed/Medalist/brand/$2a$10$Z9ib22YZyRWWZz/Vlzju3u9eZCZM.a8oUYorNPsKGzLPKu6vM696K?uname=embed&orgin=https%3A%2F%2Fwww.alwaysheard.com

Любая помощь будет высоко оценена. Большое спасибо.

Это для сервера expressjs.

Это мой код вызова frotend:

$.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 голосов
/ 18 октября 2019

Ваш URL сначала возвращает перенаправление 302 на домашнюю страницу, а затем система $.ajax() (фактически, система XMLHttpRequest под ней) следует за этим перенаправлением автоматически.

Вы можетесм. обсуждение этой темы здесь:

Как запретить ajax-запросам следовать перенаправлениям с помощью jQuery

В более новых браузерах вы можете использовать вместо этого интерфейс fetch() ион содержит redirect параметр , позволяющий запретить перенаправления.

К вашему сведению, неясно, чего вы на самом деле пытаетесь достичь. Не существует «страницы» для извлечения из этого URL . Это возвращает статус 302 и несколько заголовков, без страницы.


В случае, если вам неясно, ваш длинный 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...