前端 ajax 获取后台json数据 解析

Posted 吖水的程序路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端 ajax 获取后台json数据 解析相关的知识,希望对你有一定的参考价值。

先贴代码

 function edit(node) {
              var customerid = $(node).parents("tr").children().eq(0).text();
              alert(customerid)

              $.ajax({
                  type: "post",
                  url: "/IsCreateCoustomer/AddButtes?id=" + customerid,
              //    dataType: "json", //这个数据传输格式一开始我是没写的,因为没意识到她的用处,以为传数据有用,接数据没用,真是无知
                  success: function (res) {
                      if (res != "nobutt") {
                         
                          var butt = eval(res);//这个可以将字符串转化为变量对象
                          console.log("buttid 0" + butt[0]["buttid"] + "buttname " + butt[0]["buttname"] + "butt_tel " + butt[0]["butt_tel"] + "accountname: " + butt[0]["accountname"]);
                          
                          //for(k=0;k < butt.length;k++){
                          //    console.log("buttid kk " + butt[k]["buttid"] +" ggg"+ butt[k].buttid+ "buttname " + butt[k].buttname + "butt_tel " + butt[k]["butt_tel"] + "accountname: " + butt[k]["accountname"]);
    
                          //}

                          $.each(res ,function (i,butt) {
                          // console.log(" each buttid " + butt["buttid"] + "buttname " + butt["buttname"] + "butt_tel " + butt["butt_tel"] + "accountname: " + butt["accountname"])
                              console.log("索引 :" + i)
                              console.log("butt :" + butt.buttname)
                          })
                          //$.each(function (i, butt) {
                          //    console.log(butt[i])
                          //    console.log("buttid " + butt[i]["buttid"] + "buttname " + butt[i]["buttname"] + "butt_tel " + butt[i]["butt_tel"] + "accountname: " + butt[i]["accountname"])
                          //})

                      } else {
                          alert("!!!")
                      }
                  }
              })

              $("#model").modal(show);
              $("#edit").attr("src", "/IsCreateCoustomer/AddCoustomer?oper=update&&id=" + customerid);
              $(".modal-title").append("编辑");
              $("#edit").load();

             
          }
 //后端代码

[HttpPost]
        public ActionResult AddButtes(int id) {
            bool s = (new ButtDAO().GetCoustButtList().SingleOrDefault().coustomerid == id);
            if (s)
            {
                List<CoustomerButtInfo> CoustomerButtList = new ButtDAO().GetCoustomerButtList(e => e.coustomerid == id).ToList();


                List<buttinfo> buttList = new List<buttinfo>();
                for (int i = 0; i < CoustomerButtList.Count; i++)
                {
                    buttList.Add(new ButtDAO().GetModelList(e => e.buttid == CoustomerButtList[i].buttid).FirstOrDefault());
                }
                string result = JsonConvert.SerializeObject(buttList);
                return Content(result);

            }
            else {
                //无对接人
                return Content("nobutt");
            }
            
        }


第一点:正是上面所说,因为没有写接受数据类型(dataType:json),导致我接收的返回数据是字符串类型。
然后:(导致我怀疑人生—)?? 凭啥我的each 遍历不了数据(实在搞不了,只有将接收到的res 通过eval()封装成变量)
第二点:很让我惊喜的是,后台返回的数据(它是一个对象)居然可以通过 “.” 来访问,很骚啊!哥,我传过来的是一个数组,
里面封装的是对象,还以为只能通过butt["buttid"] 来访问。实在没必要。



 










以上是关于前端 ajax 获取后台json数据 解析的主要内容,如果未能解决你的问题,请参考以下文章

后台获取的数据怎样在前端页面上显示

后台怎么接受并解析前端ajax传过来的json

前端ajax如何接受后台的model

js怎么实现根据后台回传的数据对商品进行排序?

ajax获取数据后怎么去渲染到页面

AJAX如何解析后台传来的json数据?