C# jQuery ajax请求导致未找到错误
我是MVC的新手,尝试过一些东西,但我无法让它发挥作用 我有这个脚本,它应该根据dropdownlist选择在页面内插入部分视图C# jQuery ajax请求导致未找到错误,c#,jquery,.net,asp.net-mvc,C#,Jquery,.net,Asp.net Mvc,我是MVC的新手,尝试过一些东西,但我无法让它发挥作用 我有这个脚本,它应该根据dropdownlist选择在页面内插入部分视图 $(function () { $('#ddTipologiaFattura').change(function () { var selectedID = $(this).val(); $.ajax({ url: '/Admin/Fatturazione/GetPartial/' + selectedID
$(function () {
$('#ddTipologiaFattura').change(function () {
var selectedID = $(this).val();
$.ajax({
url: '/Admin/Fatturazione/GetPartial/' + selectedID,
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html'
})
.success(function (result) {
$('#partialPlaceHolder').html(result);
})
.error(function (xhr, status, error) {
alert(status + '\n' + error)
});
});
});
这是我的控制器~/Areas/Admin/Controllers/FatturazioneController.cs
[RouteArea("Admin")]
[Route("Fatturazione/{action}")]
public class FatturazioneController : Controller
{
private MyEntity db = new MyEntity();
public ActionResult GetPartial(int partialViewId)
{
if (partialViewId == 0)
{
var fatturaAziendaVM = new FatturaPerAziendaViewModel();
ViewBag.Intestatario = new SelectList(db.Azienda, "AziendaNome", "AziendaNome");
return PartialView("~/Areas/Admin/Views/Fatturazione/_ListaAziende.cshtml", fatturaAziendaVM);
}
var fatturaVM = new FatturaViewModel();
return PartialView("~/Areas/Admin/Views/Fatturazione/_Intestatario.cshtml", fatturaVM);
}
脚本不断出现未找到的错误。
我做错了什么?您的路由只考虑操作,而不考虑Id,这就是它失败的原因。您应该更新每个操作的路由以说明Id,或者将Id作为查询字符串参数附加
$.ajax({
url: '/Admin/Fatturazione/GetPartial?partialViewId=' + selectedID,
您可以直接从浏览器访问为AJAX请求设置的URL吗?不,我只能从控制器访问返回视图而不是部分视图的其他ActionResults。这意味着您应该尝试直接从浏览器发出请求,以检查URL是否确实可访问。这将是调试问题的第一步。