Firefox 3.6上的Jquery.parseJSON兼容性

时间:2012-05-03 22:20:44

标签: javascript jquery json

我遇到以下代码片段的问题:

$.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"]]');

有效。我甚至不确定为什么把变量放在函数中导致它崩溃。

谢谢〜

1 个答案:

答案 0 :(得分:0)

这是编码的问题,我的php文件是用带有BOM的UTF-8编码的。不得不编码。