Я пытаюсь применить фильтр к данным, отображаемым на карте, но по какой-то причине настроенный мной вызов Ajax не выполняется.Я могу добраться до строки console.log в представлении, но ничего после этого в вызове Ajax никогда не выполняется.Это делается в ASP.NET MVC.
У меня есть похожие Ajax-вызовы в этом проекте от других разработчиков, которые работают аналогичным образом.Я попытался реструктурировать свой код, чтобы он работал аналогичным образом, но безуспешно.Другие разработчики понятия не имеют, что происходит.
C # в контроллере
[HttpPost]
public ActionResult MapFilter(string filterLake, bool filterPets)
{
var filteredProperties = db.Properties.Include(a => a.PropertyCategory).Where(b => b.Status == true).Select(x => new { x.PropertyName, x.PropertyId, x.RatePerNight, x.RatePerWeek, x.MarketingTitle, x.Latitude, x.Longitude, x.Pets, x.PropertyCategory.PropertyCategoryName });
if (filterLake != "")
filteredProperties = filteredProperties.Where(a => a.PropertyCategoryName == filterLake);
if (filterPets != true)
filteredProperties = filteredProperties.Where(a => a.Pets == filterPets);
var jsonProperties = JsonConvert.SerializeObject(filteredProperties);
return new JsonResult()
{
Data = jsonProperties,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
JavaScript & Ajax в представлении
var filterLake, filterPets;
var btnApplyFilters = document.getElementById("applyFilters");
var filterLakeNode = document.getElementById("filterLake");
var filterPetsNode = document.getElementById("filterPets");
$(document).ready(function () {
btnApplyFilters.onclick = function () {
filterLake = filterLakeNode.options[filterLakeNode.selectedIndex].value;
filterPets = filterPetsNode.options[filterPetsNode.selectedIndex].value;
console.log("Lake:|" + filterLake + "| Pets:|" + filterPets + "|");
$.ajax({
url: "/Estates/MapFilter",
type: "Post",
data: {
"filterLake": filterLake,
"filterPets": filterPets
},
success: function (result) {
filteredMapData = result;
console.log("Result = " + result);
loadMapMarkers(true)
}
});
};
})
Когда я запускаюПрограмма на локальном хосте, я могу без проблем достичь линии
console.log("Lake:|" + filterLake + "| Pets:|" + filterPets + "|");
.Ничего после не запускается.