0

我对以下代码片段有疑问:

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

有用。我什至不确定为什么将变量放在函数中会导致它崩溃。

谢谢~

4

1 回答 1

0

这是编码的问题,我的 php 文件是用 UTF-8 和 BOM 编码的。不得不在没有的情况下对其进行编码。

于 2012-05-05T20:10:56.723 回答