請參閱下面的屏幕截圖。我從控制器返回Json結果來填充級聯下拉列表。當從Visual Studio運行應用程序時,該應用程序運行良好,但從iis服務器運行時,該下拉列表根本不會被過濾(拋出404)。我很困惑。任何幫助,將不勝感激。謝謝。ASP.NET MVC - 從IIS接收Json響應時發出的問題
在圖中,頂部的是從VS運行的,而底部的是從iis通過Intranet運行的。
我已經按照要求附加了下面的代碼,但正如我上面提到的,它從Visual Studio運行時工作得很好。
控制器
[HttpPost]
public JsonResult FilterByDivision(string divisionId)
{
try
{
using (ctx)
{
var SubDivResults = (from q in ctx.Test
where q.divId== divisionId
select new Models.SubDivisionDTO
{
SubDivID = q.subdivId,
SubDiv = q.SubDiv
}).Distinct().ToList();
ajaxLookup.SubDiv = SubDivResults;
}
JsonResult result = new JsonResult();
result.Data = ajaxLookup;
return result;
}
catch (Exception)
{
throw;
}
}
jQuery的
//過濾方式司
$(function() {
$("select#DivisionId").change(function (evt) {
if ($("select#DivisionId").val() != "-1") {
$.ajax({
url: "/AjaxDropDown/FilterByDivision",
type: 'Post',
data: { divisionId: $("select#DivisionId").val() },
success: function (data) {
var subDivItems = "<option value='" + "-1" + "'>" + "Please Select" + "</option>";
$.each(data.subDivisions, function (i, val) {
subDivItems += "<option value='" + val.subDivId + "'>" + val.subDivName + "</option>";
});
$("select#subDivId").empty().html(subDivItems);
}
});
}
});
});
您能否提供處理請求的c#代碼以及您所做的javascript ajax調用。這將有助於回答這個問題 – iAmClownShoe 2013-03-26 16:46:28
你在什麼操作系統上運行什麼版本的IIS? – Rob 2013-03-26 16:48:53
我已經按要求包含了代碼。 IIS在Windows 2008服務器R2上運行。謝謝 – Ren 2013-03-26 17:02:58