загружать файлы ресурсов из другой конечной точки серверной части

Я добавил i18nex, чтобы реагировать на проект, я хочу загрузить файлы ресурсов с другого сервера домена, такого как мой проект, размещенный на http://xxxx.com, и я добавил файлы локально в проект в общедоступный файл, а затем использовал loadPath: '/ locales / {{lng}} / {{ns}}. json 'он работает нормально, но в моем случае я установил файлы ресурсов на другом сервере, например http://yyyy.com/locales/ {{lng}} / {{ ns}}. json файл загружается в сетевой кран, но без данных.

если я использую loadPath: 'http://192.168.1.100/locales/{{lng}}/{{ns}}.json'  введите описание изображения здесь

если я использую loadPath: '/locales/{{lng}}/{{ns}}.json', в сети нажмите url: http: // localhost: 3001 / locales / en / translation.json  введите описание изображения  here два файла в разных местах имеют одинаковое содержание.

 import i18n from 'i18next';
 import { initReactI18next } from 'react-i18next';
 import Backend from 'i18next-http-backend';

 export const backendOptions = {
    //loadPath: '/locales/{{lng}}/{{ns}}.json',
    loadPath: 'http://192.168.1.100/locales/{{lng}}/{{ns}}.json',

    crossDomain: true,
    requestOptions: {
       mode: 'no-cors',
       credentials: 'include',
       cache: 'default'
   },
   customHeaders: {
    "Access-Control-Allow-Origin": "*",
    "Content-Type": "application/json",
    "Accept": "*/*"
   },
}

i18n
.use(Backend)
//.use(LanguageDetector)
.use(initReactI18next)
.init({
    lng: 'en',
    initImmediate: false,
    fallbackLng: 'en',
    debug: true,
    react: {
        wait: true,
        useSuspense: false
    },
    keySeparator: false, // we do not use keys in form messages.welcome

    interpolation: {
        escapeValue: false, // not needed for react as it escapes by default
    },
    backend: backendOptions
});
export default i18n;

Моя проблема в том, что мне нужно загрузить свои ресурсы из конечной точки, совершенно другого узла каталога.


person Marwan Al-Masaeid    schedule 02.07.2020    source источник


Ответы (1)


Вы не можете отправить Ajax-запрос в другой домен, не разрешив его, это считается проблемой безопасности. Браузер блокирует ваш междоменный запрос.

Вам необходимо добавить заголовки CORS в заголовки ответов другого домена.

person felixmosh    schedule 02.07.2020