2016-07-01 3 views
0

Мой скрипт работает в Chrome. У меня были трудности с Edge и IE10. Я сузил его до сценария ниже. После некоторого тестирования он работает в Краю, но до сих пор не в IE10Ajax не срабатывает в IE10

JS Библиотека:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script type="text/javascript">

JS

function scrollhandler() { 
$.getJSON("check_time_scroll.php", function(update) { 
    if (update.count===true) { 
    alert("Update available"); 
    } 
    }); 
} 
setInterval(scrollhandler, 10000); 

Дополнительная информация: check_time_scroll.php проверки, есть ли новый соответствующий контент в базе данных. Если есть, я получаю true, и если true загружаю содержимое в <div>.

Для целей тестирования я заменил сценарий загрузки <div>alert.

Возможно ли, что я использую неправильную библиотеку? В Edge тест оповещения работает, но не загружает содержимое в <div> с оригинальным скриптом.

Оригинальный сценарий:

function scrollhandler() { 
$.getJSON("check_time_scroll.php", function(update) { 
    if (update.count===true) { 
    $("#scrolltext").load('unifoscrolltext.php'); 
    } 
    }); 
} 
setInterval(scrollhandler, 10000); 
+3

посмотреть на консоль разработчика –

+0

Я сделал. Вот почему я сказал, что функция не срабатывает – Wienievra

+0

Во-первых, для ответа на этот вопрос нет HTML или PHP. Это может быть связано с PHP. Если да, проверьте ошибки через PHP. –

ответ

4

Может быть, IE10 имеют проблемы с информацией кэша.

function scrollhandler() { 
    var d = new Date(); 
    var cache = d.getTime(); 
    $.getJSON("check_time_scroll.php?cache=" + cache, function (update) { 
     if (update.count === true) { 
      $("#scrolltext").load('unifoscrolltext.php?cache=' + cache); 
     } 
    }); 
} 

setInterval(scrollhandler, 10000); 
+0

Спасибо! JavaScript не мой сильный момент. Это сработало.Не возражаете ли вы объяснить код? – Wienievra

+0

На мой взгляд, Microsoft сложно понять. Внутренне, когда вы вызываете $ .get ... или $ .load ... или $ .ajax, этот объект использует собственный ActiveXObject ("Microsoft.XMLHTTP"), который не совпадает с использованием современных браузеров XMLHttpRequest() native. По умолчанию Microsoft.XMLHTTP использует CACHE по URL-адресу. Когда вызывается однажды, пример myphp.php получает информацию, но во втором вызове в его истории не звоните снова. Использование динамического URL-примера: myphp.php? Cache = 12345 ,,, myphp.php cache? 12346, myphp.php? Cache = 12347, он заставляет объект Microsoft.XMLHTTP снова вызвать URL-адрес. – toto

Смежные вопросы