2012-05-03 7 views
0

У меня есть проблемы со следующим надреза кода:совместимость Jquery.parseJSON на Firefox 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

Попытка превратить реп в строку, не сработала, она оставляет мою переменную Tableow пустой после parseJSON. – Sefam

+0

Попытка положить тип данных моего вызова ajax на json, все равно никакого результата. – Sefam

+0

Firefox 3.6 официально умер с нескольких дней. Вам больше не придется его поддерживать! – ThiefMaster

ответ

0

Это была проблема с кодировкой, мой файл PHP был закодирован в UTF-8 с BOM. Должен был кодировать его без.

Смежные вопросы