这是AJAX方法和MVC控制器。 下拉列表位于网址“http://localhost:1424/home/drop”中。所以在导航之后,我从下拉列表中选择一个状态,然后当我导航到URL“http://localhost:1424/home/GetStates”时,json数据为空。我在网址上获得的JSON是{“selectedCountyId”:null}。请协助。!!!!!!!!!!!!!!!!!
$('.ddlCountry').change(function () {
$('#ddlState').empty();
$.ajax({
type: "POST",
dataType:"json",
url: "Home/GetStates",
data: { Id: $('.ddlCountry').val() },
});
});
public ActionResult GetStates(string Id)
{
return Json(new { selectedCountyId = Id }, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:1)
您正在使用类选择器,因此可能是在DOM中找到多个元素。
另外我建议您使用Url.Action
生成网址,不要这样串起来作为网址,以后会给您带来麻烦。
将您的jquery代码修改为:
$('.ddlCountry').change(function () {
$('#ddlState').empty();
var selected = $(this).val(); // get current dropdown element selected value
$.ajax({
type: "POST",
dataType:"json",
url: '@Url.Action("GetStates","Home")',
data: { Id: selected },
});
});
答案 1 :(得分:0)
试试这个
data: JSON.stringify({ Id: $('.ddlCountry').val() }),
还要确保dropdown
拥有class ddlCountry
。如果这是id
的{{1}},则需要dropdown
value
这样的id
。
data: JSON.stringify({ Id: $('#ddlCountry').val() }),