2012-10-16 48 views
0

我正在打一個奇怪的問題,這可能是由於我對ajax的經驗不足。出於某種原因,我的Ajax函數甚至在我的ActionResult返回它的PartialView之前觸發了我的錯誤警告對話框。Jquery Ajax在ActionResult之前拋出錯誤返回

可以any1發現我的ajax函數拋出錯誤,甚至我做錯了什麼?

我的Jquery

function GetSalesLinesByArea(e) { 
var areaId = treeView().getItemValue(e.item); 
$('#HiddenAreaId').val(areaId); 
var url = '/SalesLine/IndexPartial/'; 
$.ajax({ 
    type: "GET", 
    dataType: "html", 
    url: url, 
    data: { areaNodeId: areaId }, 
    success: function (data) { 
     $('#HuntingGrid').html(data); 
     alert("success!"); 
    }, 
    error: function() { 
     alert("error!"); 
    } 
    }); 
} 

我的觀點Index.cshtml

@using Telerik.Web.Mvc.UI 
@using Veidivefur.Model.Entity 
@model Veidivefur.ViewModels.SalesLineViewModel 
@{ 
    ViewBag.Title = "Hlunnindi"; 
} 

<div id="HuntingGrid"> 
    @{ Html.RenderPartial("IndexPartial"); } 
</div> 

我partialview IndexPartial.cshtml

@using Telerik.Web.Mvc.UI 
@model Veidivefur.ViewModels.SalesLineViewModel 

<div> 
    @(Html.Telerik().Grid(Model.SalesLines) 
     .Name("Grid") 
     //More Telerik stuff 
</div> 

* 我的索引的ActionResult在控制器*

public ActionResult Index() 
    { 
     List<CombinedSalesLine> combinedSalesLines = 
      GenerateSalesLines(_salesLineModel.FindAllSalesLinesLargerThanToday(0)); 

     return View(new SalesLineViewModel(combinedSalesLines)); 
    } 

* 我IndexPartial的ActionResult在控制器*

public ActionResult IndexPartial(string areaNodeId) 
    { 
     int areaNodeInt = Convert.ToInt32(areaNodeId); 

     List<SalesLine> saleslines = areaNodeInt == 0 ? _salesLineModel.FindAllSalesLinesLargerThanToday(0) 
      : _salesLineModel.FindAllSalesLinesLargerThanToday(areaNodeInt); 

     List<CombinedSalesLine> combinedSalesLines = GenerateSalesLines(saleslines); 

     return PartialView("IndexPartial", new SalesLineViewModel(combinedSalesLines)); 
    } 
+0

你確定url應該是'/ SalesLine/IndexPartial /'?用斜線?並沒有.html .php或.asp頁面? – RASG

+0

你好@RASG,是的,我很確定那是怎麼做的,至少我以前在其他項目中使用過這種方法。問題是一旦URL已經觸發我的ActionResult函數,我的ajax函數甚至在我的ActionResult返回任何東西之前拋出一個錯誤..!? – gardarvalur

+0

它是根本打到服務器端代碼,還是隻是返回一個錯誤? –

回答

0

我解決了這個問題!我用我的問題發佈的代碼似乎是正確的。問題出在我調用我的ajax函數的方式,我使用的url也被稱爲另一個函數,因此ajax函數拋出一個錯誤。我感到非常愚蠢,但很快就解決了。