2016-08-19 141 views
2

我在TypeScript項目中安裝了jQuery類型。我可以在VS代碼中輸入$ .ajax(...)而沒有任何編譯錯誤。但是,當我在localhost中檢查它時,出現錯誤,提示「$未定義」。我試圖通過導入jQuery來修復它,如下所示:在TypeScript中使用jQuery(ajax)

import * as jQuery from "jquery" 

我用同樣的方式導入express,它工作正常。

當我輸入「jquery」。在VS代碼中,VS代碼自動建議「ajax」作爲方法調用,因此它知道我的導入。但是當我再次在localhost中檢查它時,它告訴我jquery.ajax不是函數。

我的測試Ajax調用:

jquery.ajax("test.html", { 
      success: function() { 
       alert("success"); 
      }, 
      error: function() { 
       alert("error"); 
      } 
     }); 

你怎麼能Ajax調用使用jQuery與打字稿?

+0

您可能不會在您的HTML中包含jQuery腳本。 –

回答

1

什麼類型告訴你的TypeScript什麼方法可以安全地與某個JavaScript(而不是 TypeScript)文件進行交互。它們就像C++中的頭文件。您仍然需要以某種方式實際將相關代碼導入您的頁面。這樣做的一個基本方式是添加像這樣在你的HTML的<head>

<script src="scripts/jquery.js"></script> 

如果你不使用的模塊系統,如CommonJS的或AMD(你將不得不建立自己),你可能要刪除import聲明,因爲它可能會讓您感到困惑。