2011-12-23 4 views
7

Данные не отображаются в Chrome, если я не открою вкладку IE в Chrome, перейдите на сайт, а затем закройте ее в Chrome (извините, если это не имеет смысла).innerHTML работает в IE и Firefox, но не в Chrome

window.onload = function() { 
    var url = "http://----.freeiz.com/gbSales/sales.json"; 
    var request = new XMLHttpRequest(); 
    request.open("GET", url); 
    request.onload = function() { 
     if (request.status == 200) { 
      updateSales(request.responseText); 
     } 
    }; 
    request.send(null); 
} 
function updateSales(responseText) { 
    var salesDiv = document.getElementById("sales"); 
    salesDiv.innerHTML = responseText; 
} 

Я только начинаю изучать JavaScript, поэтому я действительно мало что знаю об этом.

ответ

8

Вы должны использовать некоторую современную библиотеку Javascript. Это защищает вас от многих из этих небольших различий между браузерами. Мне нравится jQuery.

Так, с Jquery код

window.onload = function() { 
    var url = "http://----.freeiz.com/gbSales/sales.json"; 
    var request = new XMLHttpRequest(); 
    request.open("GET", url); 
    request.onload = function() { 
    if (request.status == 200) { 
     updateSales(request.responseText); 
    } 
    }; 
    request.send(null); 
} 
function updateSales(responseText) { 
    var salesDiv = document.getElementById("sales"); 
    salesDiv.innerHTML = responseText; 
} 

становится

$(document).load(function() { 
    var url = "http://----.freeiz.com/gbSales/sales.json"; 

    $.get(url, {}, function(data) { 
    $('#sales').html(data); 
    }); 
}); 

Короче, уборщика и работает во всех браузерах!

+0

Я изучу jQuery, спасибо. – user1114060

+1

, кстати, если вопрос работает для вас, вы должны его принять (эта галочка слева) –

+0

Получил его. @SergioTulentsev – user1114060

0

Я думаю, что вы хотите использовать:

request.onreadystatechange = function() { 

вместо:

request.onload = function() { 

И изменить способ проверки возвращаемого значения.

См. Пример примера асинхронного запроса здесь: https://developer.mozilla.org/en/DOM/XMLHttpRequest/Using_XMLHttpRequest для получения более подробной информации.

0

Просто удалите только тег первой формы, чтобы вы могли поместить пустую форму(), а следующая - в код.

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