2013-05-22 92 views
0

嗨我有以下的jQuery代碼,但在IE中它顯示「對象預期」錯誤在第一行。我試着調試它,但我找不到任何錯誤。在jQuery中的錯誤:對象預期

$(document).ready(function() { 
    $("button").click(function() { 
     $.getJSON("file1.json", function (data) { 
      $.each(data.firstName, function (i, s) { 
       alert(s); 
      }); 
     }).error(function (jqXhr, textStatus, error) { 
      alert("ERROR: " + textStatus + ", " + error); 
     }); 
    }); 
}); 
+6

jQuery加載? –

+0

在IE 7-9中運行完美。小提琴http://jsbin.com/epavaz/1/edit – Vadim

+0

可能需要爲IE設置一個頭,將其視爲JSON? –

回答

0

檢查運行此代碼之前是否添加了jQuery。如果是的話,嘗試在一個匿名函數包裝代碼:

HTML

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

jQuery的

;(function($) { 
// your jQuery code: 
$(document).ready(function() {...}); 
})(jQuery); 
+0

第二部分是不必要的。 '$(document).ready'就足夠了。另外,建議使用v1.9.1與jQuery Migrate插件一起使用,如官方文檔中所述。 – Raptor

+1

@ShivanRaptor第二名將涵蓋任何衝突的可能性。 – Archer

0

請檢查下面的事情

  1. 檢查jquery JavaScript的fi樂簡稱

  2. 檢查正確的順序,如果你有一個依賴關係(例如,第一的jquery.js和相關的文件像UI或yourJSFile是下一個)

  3. 確保此功能的腳本文件後執行加載,即$jQuery對象,構建

0

不知道,但我建議,你可以替換

$.getJSON("file1.json", function (data) { 
     $.each(data.firstName, function (i, s) { 
      alert(s); 
     }); 

與此

$.getJSON("file1.json", function (data) { 
     $.each(data.firstName, function (name) { 
      alert(name); 
     }); 
+1

'remove';'從最後一行'???不對。根據瀏覽器和代碼結構的方式,它可能不是嚴格要求的,但總是有意義的終止一行代碼';' – Archer

+0

好的NP我已經刪除了 – Gautam3164

相關問題