Вложенный Ajax Call, Внутренний вызов выполняется дважды
Я новичок в MVC, у меня есть два Call Ajax, хочу использовать результат первого вызова во втором вызове, но результаты возвращаются два раза. Второй вызов ajax показывает изображение одного из результатов первого вызова ajax. это мое действие в контроллере:
public ActionResult GetMaterialsPic(int id)
{
ViewBag.Pic = db.MaterialPictures.FirstOrDefault(p => p.EntityId == id)?.Id;
var picFiles = db.MaterialPictures.Where(p => p.EntityId == id).Select(p => new {p.EntityId,p.Id,p.SystemFile}).FirstOrDefault();
if (picFiles?.SystemFile != null)
ViewBag.PicFile = Convert.ToBase64String(picFiles.SystemFile);
return Json(picFiles,JsonRequestBehavior.AllowGet);
}
это мой звонок ajax:
$.ajax({
url: 'GetMaterials',
type: "GET",
dataType: "JSON",
data: { id: radioselect },
success: function (materials) {
$("#MaterialId").html("");
$.each(materials, function (i, value) {
var Id=value.MaterialId;
$.ajax({
url: 'GetMaterialsPic',
type: "GET",
dataType: "JSON",
data: { id: Id },
success: function (picFiles, status, jqXhr) {
var data = '@(ViewBag.PicFile)';
$("#MaterialId").append(
$('<label class="radio-inline"><input type="radio" name="MaterialsId" value="' + value.Name + '" style="position: inherit;margin-left: 20px;" />' + value.Name + ' </label><img src="data:image/png;base64,' + data + '" style="display: inline;">'));
},
error: function (jqXhr, status, errorMsg) {
$("#MaterialId").append(
$('<label class="radio-inline"><input type="radio" name="MaterialsId" value="' + value.Name + '" style="position: inherit;margin-left: 20px;" />' + value.Name + ' </label> <img class="img-null" alt="عکس" style="display: inline;">'));
}
});
});
}
});