Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不从C控制器操作返回AJAX成功_C#_Jquery_Ajax - Fatal编程技术网

C# 不从C控制器操作返回AJAX成功

C# 不从C控制器操作返回AJAX成功,c#,jquery,ajax,C#,Jquery,Ajax,不从C控制器操作返回AJAX成功 我已经尝试了许多可用的选项,但仍然无法将数据返回到AJAX成功中,原因是什么? 我想将列表列表从控制器的操作返回到AJAX调用的成功数据,我应该怎么做 请看下面的代码谢谢 AJAX请求 控制器动作 我还尝试在返回之前对其进行字符串化,它显示了以下错误 我用过 返回JsonConvert.serializeObjectListMR\u\t\u免疫 现在它给了我错误 检测到类型为的自引用循环 “系统.数据.实体.动态验证.作为预约”_305685F58BEE75BA

不从C控制器操作返回AJAX成功 我已经尝试了许多可用的选项,但仍然无法将数据返回到AJAX成功中,原因是什么?
我想将列表列表从控制器的操作返回到AJAX调用的成功数据,我应该怎么做

请看下面的代码谢谢

AJAX请求

控制器动作

我还尝试在返回之前对其进行字符串化,它显示了以下错误

我用过 返回JsonConvert.serializeObjectListMR\u\t\u免疫

现在它给了我错误

检测到类型为的自引用循环 “系统.数据.实体.动态验证.作为预约”_305685F58BEE75BAC95975F9457412A0DE58BB59D3EDBD1155C7DB5E21A7BA66”。 路径 “[0]。erx_____患者。as____预约[0]。erx___城市。as___预约”


简单地看一下,您似乎可以将失败返回移动到else语句中,以保护它们不被触发,除非您的某个条件失败,而不是单独在外部浮动

是不是每次回电话都失败了?如果是这样,那可能就是原因

[HttpPost]
public JsonResult getmedi(int patient2)
    {
        if (patient2.ToString() != "")
        {
            string roster = objOrgCont.getmedi(patient2);

            JavaScriptSerializer ser = new JavaScriptSerializer();

            emr_t_Immunization erx = (emr_t_Immunization)ser.Deserialize(roster, typeof(emr_t_Immunization));

            List<emr_t_Immunization> Listemr_t_Immunization = db.emr_t_Immunization.Where(Allemr_t_Immunization => Allemr_t_Immunization.Patient_Id == patient2).ToList();

            ///List<emr_t_Medical_History> Listemr_t_Medical_History2 = (from Allemr_t_Medical_History in db.emr_t_Medical_History where Allemr_t_Medical_History.Mr_No == Mr_No select Allemr_t_Medical_History).ToList();

            if (erx != null)
            {
                //return Json(new { success = true, for_Date = erx.Med_Date, for_Name = erx.Name, for_Active = erx.Active, for_Resolved = erx.Resolved, for_Comments=erx.Comments });
                return Json(new { Listemr_t_Immunization, JsonRequestBehavior.DenyGet });
            } else 
            {
               return Json(new { success = false });
            }
        } else

        {
          return Json(new { success = false });
        }

    }
编辑

将列表发送回您的请求中

此处的这一行需要更改:

List<emr_t_Immunization> Listemr_t_Immunization = db.emr_t_Immunization.Where(Allemr_t_Immunization => Allemr_t_Immunization.Patient_Id == patient2).ToList();
我不是100%确定erx是什么,但如果您正在检查是否有结果,请将其更改为

  if (results.Any())
    {
     Response.StatusCode = (int) HttpStatusCode.Created;
     return Json(new { results });
    } else 
    {
      Response.StatusCode = (int)HttpStatusCode.BadRequest;
      return Json("Failed");
    }
因此,所有代码都将显示:

 [HttpPost]
     public JsonResult getmedi(int patient2)
      {
          if (patient2.ToString() != "")
          {
            string roster = objOrgCont.getmedi(patient2);
            JavaScriptSerializer ser = new JavaScriptSerializer();
            emr_t_Immunization erx =(emr_t_Immunization)ser.Deserialize(roster, typeof(emr_t_Immunization));
            var results = db.emr_t_Immunization.Where(Allemr_t_Immunization     => Allemr_t_Immunization.Patient_Id == patient2).ToList()
            /// You can make that query easier to read by having
            /// var results = db.emr_t_Immunization.Where(a => a.Patient_Id == patient2).ToList()
        if (results.Any())
         {
          Response.StatusCode = (int) HttpStatusCode.Created;
          return Json(new { results });
         } else 
         {
           Response.StatusCode = (int)HttpStatusCode.BadRequest;
           return Json("Failed");
         }
      } else
      {
        Response.StatusCode = (int)HttpStatusCode.BadRequest;
        return Json("Failed");
      }

    }

你的意思是说每次出现错误回调时??我想返回列表ListMR\u t\u Immunization返回Jsonnew{ListMR\u t\u Immunization,JsonRequestBehavior.AllowGet};试试看你现在真正的问题是什么?更新你的原始帖子,使你想做的事情更有意义,我会尽力帮助你好的,我会更新,但我想将列表列表Mr_______________________________________________
List<emr_t_Immunization> Listemr_t_Immunization = db.emr_t_Immunization.Where(Allemr_t_Immunization => Allemr_t_Immunization.Patient_Id == patient2).ToList();
var results = db.emr_t_Immunization.Where(Allemr_t_Immunization => Allemr_t_Immunization.Patient_Id == patient2).ToList()
  if (results.Any())
    {
     Response.StatusCode = (int) HttpStatusCode.Created;
     return Json(new { results });
    } else 
    {
      Response.StatusCode = (int)HttpStatusCode.BadRequest;
      return Json("Failed");
    }
 [HttpPost]
     public JsonResult getmedi(int patient2)
      {
          if (patient2.ToString() != "")
          {
            string roster = objOrgCont.getmedi(patient2);
            JavaScriptSerializer ser = new JavaScriptSerializer();
            emr_t_Immunization erx =(emr_t_Immunization)ser.Deserialize(roster, typeof(emr_t_Immunization));
            var results = db.emr_t_Immunization.Where(Allemr_t_Immunization     => Allemr_t_Immunization.Patient_Id == patient2).ToList()
            /// You can make that query easier to read by having
            /// var results = db.emr_t_Immunization.Where(a => a.Patient_Id == patient2).ToList()
        if (results.Any())
         {
          Response.StatusCode = (int) HttpStatusCode.Created;
          return Json(new { results });
         } else 
         {
           Response.StatusCode = (int)HttpStatusCode.BadRequest;
           return Json("Failed");
         }
      } else
      {
        Response.StatusCode = (int)HttpStatusCode.BadRequest;
        return Json("Failed");
      }

    }