Проблема
Я пытаюсь создать страницу, которая обновляет конкретное поле записей в таблице, когда флажок щелкнули (в идеале без обновления страницы). Я думал, что jQuery/AJAX будет работать для меня.
Видимо, нет.Yii2 JQuery не работает в IE11
Я боролся с этим на некоторое время, поэтому я решил масштабировать его и действительно упростить, чтобы выяснить, что не работает. Обновление таблицы в порядке (из Chrome), а не обновление - нет. И ничто из этого не работает из IE11.
В настоящее время он размещен на моей локальной машине, поэтому часть меня задается вопросом, связано ли это с этим, однако jQuery отлично работает на других сайтах, которые я размещал одинаково.
Действие Yii2 Контроллер:
public function actionTest() {
return 'This is just a static test';
}
(очень основной) PHP страницу: Это источник после того, как страница была оказана
<script src="/assets/ddb27309/jquery.js"></script>
<script src="/assets/eeb0e590/yii.js"></script>
<div id="loadToMe"> </div>
<script type="text/javascript">
$(document).ready(function() {
$('#loadToMe').load('/mycontroller/testing');
});
</script>
Теперь, как обычно, я ожидаю, что текущий пустой div будет заполнен d со строкой This is just a static test
- приятно и легко.
Однако.
Хром & FireFox: Переадресация на {mysite}/mycontroller/тестирование и отображение данного текста.
IE 11: дает мне следующее сообщение об ошибке, но ничего не происходит:
XMLHttpRequest: Network Error 0x2f76, Could not complete the operation due to error 00002f76.
Такое поведение является идентичным для обоих браузеров, когда я использую $.get
, $.post
и $.ajax
(с их различными различия синтаксических) за одним исключением - IE11 дает другое сообщение об ошибке для POST.
XMLHttpRequest: Network Error 0x800c0008, The download of the specified resource has failed.
Я пробовал различные вещи из различных источников, в том числе (но не ограничиваясь этим - я не могу вспомнить все, что я пробовал) следующее:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="X-UA-Compatible" content="IE=edge;chrome=1" />
AddDefaultCharset utf-8
И с помощью вкладки сети из инструментов разработчика IE у меня есть это для POST и GET соответственно.
Protocol Method Result Type Received Taken Initiator Wait Start Request Response Cache read Gap
HTTP POST 302 text/html 464 B 47 ms XMLHttpRequest 0 16 0 31 0 2902
HTTP (Aborted) text/html 506 B < 1 ms XMLHttpRequest 2902 0 0 0 0 47
Связанные JS файлы являются те, которые пришли из Yii2 (и минимальный требуемый для того, чтобы $.load
работать в Chrome) - я не прикоснулся к ним каким-либо образом.
JQuery версия v2.1.3
Yii2 версия v2.0.3
Я не вижу упоминания о том, что вы включили '\ yii \ web \ JqueryAsset :: register()' в виде где-нибудь. Можем ли мы считать, что это было сделано правильно? – Blizz
Файлы javascript и jquery добавлены в полный файл с пакетами активов. На тестовой странице, которую я привел выше, они жестко закодированы. Оба способа работы в Chrome и FF, но не в IE. Ответит ли это на ваш вопрос? – AmandaL