Получение запроса на перекрестный запрос исходного кода при использовании .getJSON для получения сведений о приложении Play Store

Таким образом, в основном я использовал API-интерфейс API 42matters.com APP для получения сведений о приложении или информации из магазина Google Play, все работало нормально, и я получал ответ JSON, но когда я вернулся в офис после выходных, это скорее Пришла странная ошибка, и ничего не возвращалось.

Я использовал функцию $ .getJSON, например:

var packageID = 'com.whatsapp'; $.getJSON('https://42matters.com/api/1/apps/lookup.json?p='+packageID+'&access_token=accesstoken1234') .done(function(appDetails) { $('#logo').html(JSON.stringify(appDetails)); }); 

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

 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://42matters.com/api/1/apps/lookup.json?p=com.whatsapp&access_token=accesstoken1234. This can be fixed by moving the resource to the same domain or enabling CORS 

Я включил CORS с помощью PHP и ничего не сделал, попытался изменить файл conf apache, чтобы включить CORS, но служба не перезапустится с этим, поэтому я застрял.

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

CORS заблокирован в браузере, что не позволит AJAX запрашивать данные из другого домена. Вы должны связаться с командой 42matters.com, чтобы открыть файл crossdomain.xml для вас, как этот запрос CORS jQuery AJAX, или может ли кто-нибудь опубликовать хорошо сформированный образец crossdomain.xml?

Или обходным решением для кросс-домена AJAX является JSONP: перекрестный домен jQuery AJAX, но API должен поддерживать такой запрос.

Последнее, что AJAX не использует для сбора данных из других источников, если это мобильная платформа, для этого должен иметь собственный объект HTTP-запроса

Я знаю, что это старые технологии, но некоторым из нас все еще приходится иметь дело с этим.

Если вы имеете дело с веб-сервером IIS6:

  • Откройте диспетчер служб IIS
  • Щелкните правой кнопкой мыши сайт, на который вы хотите включить CORS, и перейдите в «Свойства»
  • Перейдите на вкладку «Заголовки HTTP».
  • В разделе «Пользовательские заголовки HTTP» нажмите «Добавить».
  • Введите Access-Control-Allow-Origin в качестве имени заголовка
  • Введите * в качестве значения заголовка
  • Дважды нажмите «ОК»

IIS7 – добавьте это в свой web.config

 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> 

Мы можем исправить проблему, поместив базовый тег в наш html-файл.

 <head> <base href="http://www.otherdomain.com/xyz/"> </head>