2014-03-13 93 views
0

在我的部分觀點我有這個AJAX的ActionLink關於Ajax鏈接點擊javascript錯誤?

@foreach (var times in Model.ProvidedDateTimes) 
{ 
    <tr> 
     <td> 
      @times.StartDateTime &nbsp; to &nbsp; @times.EndDateTime 
     </td> 
     <td> @Ajax.ActionLink("Delete", "DeleteResponse", new { responseid = @times.ResponseId }, new AjaxOptions { UpdateTargetId="dummy",OnBegin = "begin",OnComplete="complete",OnFailure="fail",OnSuccess = "success"})</td> 
    </tr> 
} 

這些功能

$(function begin() { 
    alert("begin"); 
}); 
$(function complete() { 
    alert("complete"); 
}); 
$(function fail() { 
    alert("fail"); 
}); 

function deleteResponse(id){ 
     var url = $("#providedTimes").data('url'); 
     url = url + "&t=" + new Date().getTime(); 

     $.get(url, function (data) { 

      $('#providedTimes').html(data); 
     }); 
    }; 

當我運行應用程序,我得到的JavaScript警報開始完成,則失敗了,所有的兩倍。

當我嘗試點擊刪除我得到在控制檯上的錯誤,說 enter image description here 我渲染束是

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
       "~/Scripts/jquery-2.1.0.min.js", 
       "~/Scripts/jquery.unobtrusive-ajax.min.js")); 

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
       "~/Scripts/jquery.validate.min.js", 
       "~/Scripts/jquery.validate.unobtrusive.min.js")); 

和_layout視圖

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryval") 


@Scripts.Render("~/bundles/modernizr") 
@Scripts.Render("~/Scripts/jquery-ui-1.10.4.js") 
@Scripts.Render("~/bundles/bootstrap") 
@Scripts.Render("~/bundles/Kendo") 
@Scripts.Render("~/bundles/toastr") 

任何想法,爲什麼我在控制檯中出現錯誤?

+2

你爲什麼封裝你在'$()'中的函數?也許如果你的頁面只是說'function begin()'而不是'$(function begin(){})' –

+0

你正在'document.ready'事件中創建函數。它們不在其外面。在表單(或「foreach」)之前創建一個'

1

你想要的,而不是:

function begin() { 
    alert("begin"); 
}; 

$(begin); 

與同爲所有其他方法。即使不確定你想在調度程序中調用Fail/Complete。