2011-12-23 45 views
7

Dữ liệu sẽ không hiển thị trong Chrome, trừ khi tôi mở tab IE trong Chrome, sau đó đóng lại vào Chrome (xin lỗi, nếu điều đó không có ý nghĩa gì nhiều).innerHTML hoạt động trong IE và Firefox, nhưng không phải 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; 
} 

Tôi chỉ mới bắt đầu học JavaScript nên tôi thực sự không biết nhiều về nó.

Trả lời

8

Bạn nên sử dụng một số thư viện Javascript hiện đại. Nó bảo vệ bạn khỏi nhiều sự khác biệt nhỏ giữa các trình duyệt. Tôi thích jQuery.

Như vậy, với jquery mã của bạn

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; 
} 

trở thành

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

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

ngắn hơn, sạch hơn và làm việc tại tất cả các trình duyệt!

+0

Tôi sẽ xem xét jQuery, cảm ơn. – user1114060

+1

bằng cách này, nếu một câu hỏi phù hợp với bạn, bạn nên chấp nhận câu hỏi đó (dấu kiểm bên trái) –

+0

OK. @SergioTulentsev – user1114060

0

Chỉ cần tìm thấy rằng thẻ biểu mẫu đầu tiên bị xóa để bạn có thể đặt biểu mẫu trống() và biểu mẫu tiếp theo được giữ trong mã.

Các vấn đề liên quan