簡體   English   中英

未在部分視圖上定義的Javascript函數

[英]Javascript Function Not Defined on Partial View

我有這樣的局部看法:

@model Blah.Blah.ThisModel

<script type="text/javascript">
    $.getScript("/Scripts/Pages/ReferralEdit.js");
    initReferralEdit();
</script>

@* blah blah rest of view here *@

然后在我的ReferralEdit.js外部文件中,我有以下內容:

console.log('external loading');

function initReferralEdit() {
    console.log('function is here');
}

將其作為主要路線(非Ajax)加載時,此方法工作正常。 通過Ajax加載時,在頁面上檢查控制台時,我得到以下信息:

Uncaught ReferenceError: initReferralEdit is not defined
external loading

因此,我知道文件正在加載,因為第一個console.log()良好,但是該功能似乎不可用。

誰能解釋為什么? (並且,為什么錯誤會在external loading輸出之前在Chrome的日志中顯示出來?)如何添加這些功能,以便它們被“注冊”或“在正確的范圍內”或我所缺少的東西?

(我已經花了幾個小時來嘗試找出如何在局部視圖上加載JS,並且我始終堅持未定義這些功能...)

在嘗試調用文件中的任何方法之前,您需要確保文件已完全加載。 嘗試以下操作:

$.getScript( "/Scripts/Pages/ReferralEdit.js" )
  .done(function( script, textStatus ) {
     initReferralEdit();
  })
  .fail(function( jqxhr, settings, exception ) {
    console.log('failed to load script');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM