[英]MVC4 : How to pass nested Ajax request?
我在Web應用程序中形成表單,即我根據用戶選擇的ajax篩選數據並使用jason獲取數據的方法都工作良好,但是當我想獲取從表BankPlans值中獲取的嵌套數據以及我獲取的每個bankid時出現問題來自其他表的所有必需文檔,我嘗試在jason中以一種方法獲取它們以進行選擇
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"); } });
控制器:
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); }
在VS中使用調試時,在第一次按兩次調用帶有下一個值的同一行並返回下一個值的Jason並返回上一個值的Jason的情況下,在參數中的Planid首次獲得兩次的Getdocs方法的情況下。
請幫忙,謝謝。
通過將所有文檔作為以(,)和list中的所有ID分隔的字符串傳遞來解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.