Как отправить данные методом GET в другой домен?

Мой файл Javascript генерирует JSON, и есть некоторые необходимые значения, которые я хочу отправить по ссылке www.leaderpush.com/Send/Getjson?Endpoint=endpoint&P256dh=p256dh&Auth=auth

var obj = JSON.parse(t);
var endpoint = obj.endpoint;
var p256dh = obj.keys.p256dh;
var auth = obj.keys.auth;

Но я не могу отправить его в другой домен. Когда я пытаюсь, отправляемый URL-адрес становится www.AnyDomain.com/www.leaderpush.com/Send...

Что вы предлагаете?

2 ответа

Вам нужно правильно отформатировать URL.

url = "//www.leaderpush.com/Send/Getjson?Endpoint=endpoint&P256dh=p256dh&Auth=auth";

Тебе нужно // в начале, чтобы указать, что доменное имя URL-адреса следует, в противном случае оно рассматривается как имя файла относительно текущего URL-адреса.

Кстати, это все еще может не работать, если другой домен запрещает CORS. Вам может потребоваться сделать запрос с вашего сервера, а не с клиента.

Поскольку вы не упомянули протокол абсолютно (HTTP / HTTPS) или относительно (//) в URL-адресе запроса, браузер обрабатывает его как путь и добавляет URL-адрес запроса после исходного домена. И кажется, что домен запроса не поддерживает и не имеет действительного сертификата HTTPS и, следовательно, должен убедиться, что ваш исходный домен является HTTP, а домен запроса (//www.leaderpush.com) поддерживается CORS.

Примечание. Попробуйте включить crossDomain: true в заголовок запроса $.ajax() на тот случай, если целевой сервер может выполнить запрос для включения кросс-домена для клиента.

Другие вопросы по тегам