jquery .html () non funziona su ie8



2 Answers

Sembra che IE8 abbia problemi nell'inserire lunghe stringhe di testo con hQuml () di jQuery, rendendo completamente vuoto il contenuto del div. Ho appena provato con una stringa molto lunga e una contenente solo 'blah', e questo ha fatto la differenza.

Quindi se ti stai aspettando mandrini di testo molto grandi (come 2k + caratteri), vai per il innerHTML nativo. Non ho fatto ulteriori ricerche, quindi non so qual è la lunghezza massima di una stringa da passare attraverso html () in IE8.

Question

Ho una funzione jquery che effettua una chiamata ajax a un metodo webservice sul server web, il metodo restituisce una tabella html con i dati. Sto usando .html () per rendere i valori di ritorno su div. Funziona su Firefox, Chrome, Safari ma non funziona su IE8

$.ajax({
    type: "POST",
    url: "./../WebAjaxCalls.asmx/GetProductInstruction",
    data: "{'ProductID':'" + $("#txtProductID").val()  + "'}",
    success: function(data) {
        if (data.d[0] == "true") {
            **$("#dvProudctInstruction").html(data.d[1]);** 
        }
    },
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    error: function(e, textStatus, errorThrown) {
        bReturn = false;
    }
});  

La riga $ ("# dvProudctInstruction"). Html (data.d [1]); funziona su tutti i browser tranne IE8.

Qualsiasi aiuto su questo sarà molto apprezzato.




Che sia il suo .html () che non funziona o che sia qualcos'altro, prima controllalo. Metti un avviso e vedi se ottieni html corretto o meno.

alert(data.d[1]);
$("#dvProudctInstruction").html(data.d[1]);

Molto probabilmente l'html che arriva in data.d [1] contiene un errore e IE non è in grado di risolverlo.




Ho risposto a questo problema sul collegamento, è sufficiente modificare il codice per essere come questo

$("#dvProudctInstruction").html(data.d[1].toString());



Related