Как подменить домен при ajax запросе?
Api отдает данные только при запросе с определенного домена.
Как получать эти данные и обойти cors при запросах с localhost ?
пока решение такое:
- devServer в vue.config.js с указанием нужного хоста
- добавление этого хоста в hosts
- расширение Allow CORS: Access-Control-Allow-Origin или запуск хрома с флагами, чтобы обойти cors
Дополнительно:
Mesuti, отличный план )) Какой смысл передавать заголовок, который должен возвратить бэкенд?
Способов несколько.
1. Поднять локальный сервер и запросы проксировать через него.
2. Написать расширение для браузера и при помощи него добавлять нужный Referer. Либо использовать для запросов контент-скрипт с целевого сайта.
- оба варианта не простые, кажется должно быть готовое расширение для хрома, которое все это делает из коробки
- tenaro, есть такие:
https://addons.mozilla.org/ru/firefox/addon/cors-u...
https://addons.mozilla.org/ru/firefox/addon/access...
Но насколько им можно доверять, я хз. Лучше напишите свое.
Крайне паршивое решение. Используйте свой бэкенд и патерн BFF https://medium.com/mobilepeople/backend-for-fronte...
почему так? Что бы ваш токен не был доступен никому кроме вашего сервера
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для того чтобы подменить домен при ajax запросе, можно воспользоваться методом, который позволяет изменить домен на лету. Например, если у вас есть основной домен example.com, и вам нужно отправить ajax запрос на другой домен subdomain.example.com, вы можете использовать следующий подход.
1. Создайте функцию, которая будет заменять домен в URL запроса:
```php
function replaceDomain(url, newDomain) {
var parser = document.createElement('a');
parser.href = url;
parser.hostname = newDomain;
return parser.href;
}
```
2. Используйте эту функцию при отправке ajax запроса:
```php
var originalUrl = 'http://example.com/api/data';
var newDomain = 'subdomain.example.com';
var newUrl = replaceDomain(originalUrl, newDomain);
$.ajax({
url: newUrl,
type: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
```
Этот код поможет вам подменить домен при ajax запросе. Просто укажите оригинальный URL запроса и новый домен, и функция заменит домен в URL перед отправкой запроса. Таким образом, вы сможете отправить ajax запрос на другой домен без необходимости изменять сам URL вручную.

Для подмены домена при ajax запросе, вам необходимо использовать прокси-сервер или CORS (Cross-Origin Resource Sharing).
Прокси-сервер - это промежуточный сервер, который принимает запросы от клиента и передает их на сервер, обмениваясь информацией между ними. Таким образом, вы можете подменить домен на прокси-сервере и передать запрос на нужный сервер.
Пример использования прокси-сервера на PHP: