2011-12-23 23 views
7

Chrome'da bir IE sekmesi açmam ve Chrome'a ​​kapatmadığım sürece, veriler Chrome'da görüntülenmez.).innerHTML, IE ve Firefox'ta çalışır, ancak Chrome'da değil

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

Im sadece bu yüzden ben gerçekten bu konuda pek bilgim yok JavaScript öğrenmeye başlayan.

cevap

8

Bazı modern Javascript kitaplıklarını kullanmalısınız. Tarayıcılar arasındaki bu küçük farklardan sizi korur. jQuery'u seviyorum.

Yani, jquery, kodunuzu

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

Shorter, süpürge olur ve tüm tarayıcılarda çalışır!

request.onreadystatechange = function() { 

yerine:

request.onload = function() { 

Ve dönüş değerini kontrol biçimini değiştirmek

+0

jQuery'ye bakacağım, teşekkürler. – user1114060

+1

Bu arada, bir soru sizin için çalışıyorsa, kabul etmelisiniz (soldaki onay işareti) –

+0

Anladım. @SergioTulentsev – user1114060

0

Sadece ilk form etiketinin kaldırıldığını bulun, böylece boş bir form koyabilirsiniz() ve bir sonraki kodda kalır.

İlgili konular