Задать вопрос
@HandleX

В хроме ошибка «Refused to execute script its MIME type ('text/html') is not executable». JQuery JSONP больше не работает?

Раньше, чтобы обратиться на клиенте к стороннему сервису по его API, юзал JQuery JSONP сахар:
const srcURL = 'https://xxx.xx/api/rur';
		$.ajax({

			url: srcURL,
			async: false,
			jsonp: "callback",
			dataType: "jsonp",
			success: function( response )
			{ и так далее


Сейчас в Хроме вылазит ошибка: "Refused to execute script from <...> because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled".

В самом деле, если посмотреть ответ сервера, там будут заголовки Content-Type: text/html и X-Content-Type-Options: nosniff, что заставляет браузер отказаться выполнить/распарсить JSON.

Как такое возможно обойти? Доступа к серверу со сторонним API не имею, изменить его заголовки нельзя.
Спасибо за внимание.
  • Вопрос задан
  • 8162 просмотра
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 1
@totosarg
Проверял? Проверял. Работает? Работает. Не трогай!
Если сервер отдает JSON a не JSONP, то просто уберите dataType: "jsonp".
JSONP != JSON.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 19:19
2300 руб./в час
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час