我使用以下代碼來調用的局部視圖:調用通過AJAX局部視圖中Asp.net MVC 5
$('#btnGetMilestones').click(function() {
$.ajax({
url: "GetMilestones",
type: "get",
success: function (result) {
$('#milestonesContainer').html(result);
},
error: function (xhr, status, error) {
var msg = "Response failed with status: " + status + "</br>"
+ " Error: " + error;
$('#milestonesContainer').html(msg);
},
complete: function (xhr, status) {
var doneMsg = "Operation complete with status: " + status;
alert(doneMsg);
}
});
});
此的ActionResult:
public PartialViewResult GetMilestones()
{
return PartialView("_GetMilestones");
}
局部視圖已經在一個項目中的里程碑(階段性目標和項目是型號)。當我打電話給這樣的局部視圖時:
<div id="milestonesContainer">
@Html.Partial("_GetMilestones")
</div>
它工作正常,它獲得項目的所有里程碑。 但是,當我嘗試調用通過AJAX的局部視圖,該錯誤被稱爲:響應失敗,狀態:錯誤
錯誤:錯誤的請求
我在細節是查看項目,這樣的網址是像這樣http://localhost:55623/Projects/Details/2002
我是新來的ajax和javascript,所以如果可能,請解釋我喜歡你對初學者。
UPDATE:
得到一些答案,玩弄找到一個解決方案後,我才明白爲什麼會出現錯誤。 我在詳細信息視圖中,所以url是這樣的:http://localhost:55623/Projects/Details/2002看到有一個ID參數。 當我進行ajax調用時,url是這樣的http://localhost:55623/Projects/Details沒有id參數。所以作爲回報,我得到一個400錯誤代碼
的可能的複製[如何通過AJAX調用呈現MVC5局部視圖到控制器,並返回HTML(http://stackoverflow.com/questions/32610270/how-to-render-partial-view-in-mvc5-via-ajax-call-到一個控制器和回報,HTML) –
除非您的當前URL是'httphttp:///<包含GetMilestones>的控制器,否則您的網址不正確。它需要是'/ /GetMilestones'。 –
Gavin
@MikeMcCaughan不,沒有 – Arianit