Javascript MVC4:如何传递嵌套的Ajax请求?
我在一个web应用程序中生成表单,使用ajax根据用户选择过滤数据,使用jason获取数据,这些都很好,但当我想要获取嵌套数据时,问题就出现了 我从表BankPlans值中获取,对于每个bankid,我从其他表中获取所有必需的文档,我尝试在jason中的一种方法中获取它们以供选择Javascript MVC4:如何传递嵌套的Ajax请求?,javascript,jquery,ajax,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 4,我在一个web应用程序中生成表单,使用ajax根据用户选择过滤数据,使用jason获取数据,这些都很好,但当我想要获取嵌套数据时,问题就出现了 我从表BankPlans值中获取,对于每个bankid,我从其他表中获取所有必需的文档,我尝试在jason中的一种方法中获取它们以供选择 new { Percent = r.percent, Reqdocs = docs }); 在每个reqDosc的ajax循环结果中,将它们放入列表 当在控制器中执行方法时,比如case1=operation和cas
new { Percent = r.percent, Reqdocs = docs });
在每个reqDosc的ajax循环结果中,将它们放入列表 var addressData = JSON.stringify(jsonData);
$.ajax({
url: '/Getyourcar/GetPlans',
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: addressData,
success: function (result) {
$("#carousel").empty();
for (i = 0; i < result.length; i++) {
$("#carousel").append("<div class='carousel-feature'><div class='content'><h3>الفائدة السنوية</h3><div class='rate'> " + result[i].percent + " </div><div class='feature_cnt'> <ul></ul> </div> <a href='javascript:void(0)' class='check' title=" + result[i].percent + ">اختر</a></div><img class='carousel-image' alt='Image Caption' src='/images/1px.png'></div>");
$('input[name="planid"]').val(result[i].planid);
getDocs();
}
},
error: function (result) {
}
});
}
var getDocs = function () {
var jsonData = {
"Planid": $("#planid").val(),
};
var addressData = JSON.stringify(jsonData);
$.ajax({
url: '/Getyourcar/Getdocs',
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: addressData,
success: function (result) {
$("#carousel .feature_cnt ul").empty();
for (i = 0; i < result.length; i++) {
$("#carousel .feature_cnt ul").append("<li>" + result[i].plan + " </li>");
}
},
error: function (result) {
alert("failed");
}
});
在VS中使用调试时,如果Getdocs方法在第一次调用两次,则按F10时参数中的Planid将获得值。使用下一个值再次调用同一行,并返回最后一个值的值
请提供帮助,提前感谢。通过将所有文档作为字符串传递(以(,)和列表中的所有ID分隔)来解决此问题
- 在java脚本中拆分(“,”),并将它们插入指定的ul id中
public ActionResult GetPlans(string BankName = "", string Period = "", string customergrade = "")
{
int bankid = db.Banks.Where(b => b.Name.Contains(BankName) || BankName == "").FirstOrDefault().Id;
int yearid = db.Yearss.Where(b => b.Name.Contains(Period) || Period == "").FirstOrDefault().Id;
int cusgradeid = db.CustomerGrades.Where(c => c.Name.Contains(customergrade) || customergrade == "").FirstOrDefault().Id;
var Bankplanid = db.BankPlanss.Where(b => (b.BankId == bankid) &&
(b.CustomerGradeId == cusgradeid))
.Select(r => new { cusgrade = cusgradeid, bankid = r.BankId, percent = r.Percent, planid = r.Id });
return Json(Bankplanid, JsonRequestBehavior.AllowGet);
}
public ActionResult Getdocs(int Planid = 0)
{
var plans = db.BankPlansReqDocs.Where(b => b.BankPlansId == Planid)
.Select(r => new { plan = r.RequiredDocs.Name });
return Json(plans, JsonRequestBehavior.AllowGet);
}