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

これはFirefox12で動作します。ただし、Firefox3.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ファイルはBOMを使用してUTF-8でエンコードされていました。なしでエンコードする必要がありました。

于 2012-05-05T20:10:56.723 に答える