ОБНОВЛЕНО: после некоторого осмотра кажется, что проблема в IE8 и замене innerHTML в таблицах, а не в коде json (см. здесь ).Оповещение доказывает, что код json возвращает ожидаемый текст, но я не могу на всю жизнь заставить его засунуть туда, где я хочу.Очевидно, есть проблема с innerHTML и ячейками таблицы, и вы не можете заменить содержимое всей таблицы;Вы должны предназначаться для определенной ячейки.Однако мне нужно сгенерировать содержимое tbody - нет ни одной существующей строки или ячейки, которые я мог бы использовать.
===================================================================================== Мне передали код, написанный разработчиком, который недольше с компанией.Код работает без проблем в Firefox и Chrome, но не работает вообще в IE (7 или 8).Это не бросает никаких ошибок;это просто не отображает ответ.Вот две функции;Может кто-нибудь мне помочь?Я только что вернулся к работе через Интернет после 10 лет работы с устаревшими приложениями, поэтому не знаю, с чего начать.
var xmlhttp;
var the_object = {};
var suggestions = [];
function loadXMLDoc(url) {
xmlhttp=null;
if (window.XMLHttpRequest) {// code for IE7, Firefox, Mozilla, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE5, IE6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp != null) {
xmlhttp.onreadystatechange = onResponse;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
} else {
alert("Your browser does not support XMLHTTP.");
}
}
function onResponse() {
if (xmlhttp.readyState!=4) return;
if (xmlhttp.status!=200) {
alert("Problem retrieving XML data");
return;
}
//JSON response code
the_object = eval('(' + xmlhttp.responseText + ')');
if (the_object.errMsg){
alert(the_object.errMsg);
}else{
**document.getElementById("shoppingCartTable").innerHTML = the_object.cartHTML;**
}
}
function searchMerchants(term){
url = "/merchant-list/?format=json&q=" + term;
loadXMLDoc(url);
}
function addToCart(id){
var denElem = document.getElementById('item'+id+'_den');
var quanElem = document.getElementById('item'+id+'_quan');
if (denElem.options){
var den = denElem.options[denElem.selectedIndex].value;
}else{
var den = denElem.value;
}
var quan = quanElem.options[quanElem.selectedIndex].value;
var voucherNbr = document.getElementById("voucherNbr").value;
var url = "/redeem/add-to-cart/?action=add&format=json&voucherNbr=" + voucherNbr + "&merchantId=" + id + "&denomination=" + den + "&quantity=" + quan;
loadXMLDoc(url);
}