2

當我使用javascript對象時,我在Internet Explorer 7和8中出現了一個奇怪的錯誤。它在IE9和所有其他工作。對象錯誤中的Javascript對象

當我使用一個對象並且對象中的任何參數是「class」時,Internet Explorer 7和8會停止執行任何操作。

我正在使用jquery 1.8.2。

我會告訴你一些代碼。

var obj = { 
      data:{class:'image',action:'getAllFkId',type:nbType, fkid:id}, 
      success:function(json){ 
       alert('hi'); 

      } 
     }; 
     this.ajax(obj); 

「this.ajax」的代碼(以下簡稱「本」是一個對象):

ajax : function(params){ 

     var defaults = { 
      url: '../index.php', 
      type:'POST', 
      data:{}, 
      dataType:'json', 
      success:function(){/*Function handler*/} 
     } 
     var options = $.extend(defaults, params); 

     $.ajax(options); 
     return this; 
    }, // ..... rest of code 

如果我改變參數別的它的作品的名字。

// This is just fine foo instead of class 
var obj = { 
     data:{foo:'image',action:'getAllFkId',type:nbType, fkid:id}, 
     success:function(json){ 
      alert('hi'); 

     } 
    }; 
    this.ajax(obj); 

我想了解爲什麼IE7-8不能用「class」作爲參數。 謝謝你的時間。

回答

2

爲了一些較舊的瀏覽器,您需要用引號括起class

data:{"class":"image",... 

雖然ECMAScript中允許保留字作爲屬性標識符,一些老的瀏覽器沒有答應。

+0

非常感謝您的回答。我不知道'class'是舊版瀏覽器的一個屬性。 – Julien