Javascript innerHTML适用于IE和Firefox,但不适用于Chrome

Javascript innerHTML适用于IE和Firefox,但不适用于Chrome,javascript,google-chrome,innerhtml,Javascript,Google Chrome,Innerhtml,数据将不会显示在Chrome中,除非我在Chrome中打开IE选项卡转到站点,然后将其关闭回Chrome(抱歉,如果这没有多大意义的话) 我刚开始学习JavaScript,所以我对它了解不多。你应该使用一些现代的JavaScript库。它可以防止浏览器之间的许多细微差异。我喜欢 因此,使用jquery,您的代码 window.onload = function() { var url = "http://----.freeiz.com/gbSales/sales.json"; var r

数据将不会显示在Chrome中,除非我在Chrome中打开IE选项卡转到站点,然后将其关闭回Chrome(抱歉,如果这没有多大意义的话)


我刚开始学习JavaScript,所以我对它了解不多。

你应该使用一些现代的JavaScript库。它可以防止浏览器之间的许多细微差异。我喜欢

因此,使用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);
  });
});

更短,更干净,适用于所有浏览器

我想您应该使用:

request.onreadystatechange = function() {
而不是:

request.onload = function() {
并更改检查返回值的方式


请参见此处的异步请求代码示例:了解更多详细信息。

只需删除第一个表单标记,您就可以放置一个空表单(),而下一个表单保留在代码中。

顺便说一句,如果一个问题适合您,您应该接受它(左边的复选标记)
request.onload = function() {