2012-05-03 40 views
0

我有下面的代碼剪斷了一個問題:Jquery.parseJSON兼容性3.6

$.ajax(
{ 
    type: "POST", 
    url: "AjouterAttribut.php", 
    data: { val: valvaleur, table: nomvaleur } 
}).success(function(message) 
{ 
    var rep = $.trim(message); 
    if (rep == '-') 
    { 
     $.unblockUI(); 
     alert("Cet enregistrement existe déjà"); 
    } 
    else 
    { 
     var Tableau = jQuery.parseJSON(rep); 
     boutonappuye.prev().find('option').remove(); 

     boutonappuye.next().attr("disabled", "true"); 
     boutonappuye.next().find('img').attr('src', 'images/Supprimer_nonactif.png') 

     for (var i=0; i< Tableau.length; i++) 
     { 
     boutonappuye.prev().append("<option value="+ Tableau[i][0] +">" + Tableau[i][1] + "</option>"); 
     } 
     $.unblockUI(); 
    } 
}); 

這條線,具體如下:

var Tableau = jQuery.parseJSON(rep); 

這個工作在Firefox 12。但是,我需要使其在Firefox 3.6上兼容。非常令我沮喪的是,JavaScript只是在那裏崩潰。我嘗試在該行之前對rep變量的內容進行警報。它給了這一點:

[["1","Etudiant"],["3","Etudiant privilege"],["2","Professeur"],["7","wrerew"]] 

如果我改變的代碼上面的一行:

var Tableau = jQuery.parseJSON('[["1","Etudiant"],["3","Etudiant privilege"],["2","Professeur"],["7","wrerew"]]'); 

它的工作原理。我甚至不知道爲什麼把變量放在函數中會導致崩潰。

謝謝〜

+0

試圖將代碼轉換爲字符串,沒有工作,它會在parseJSON之後留下我的Tableau變量爲空。 – Sefam

+0

嘗試將我的ajax調用的數據類型放到json中,仍然沒有結果。 – Sefam

+0

Firefox 3.6自幾天後正式宣告失效。你不應該再支持它了! – ThiefMaster

回答

0

這是與編碼的問題,我的PHP文件進行編碼以UTF-8 BOM。必須無需編碼。