我有一個局部視圖,像這樣:JavaScript函數沒有定義偏查看
@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上的局部視圖小時,我總是停留在不被定義這些功能...)
因爲'initReferralEdit();'在腳本加載之前調用(ajax是異步)。喲使它的工作,在成功回調中調用'initReferralEdit()' –
我今天已經太長了......'$ .getScript('/ Scripts/Pages/ReferralEdit.js',function(){initReferralEdit );});' - 那就行了。把你的評論變成一個答案,我會標記它。 – jleach
TeaCode已經添加了一個:) –