【问题标题】:I can't pull data from ajax我无法从 ajax 中提取数据
【发布时间】:2022-01-05 11:34:04
【问题描述】:
 public enum SocialEnum
    {
        [Display(Name = "Genel")]
        General,
        [Display(Name ="Teşekkür Et")]
        Thanks
    }
    public class SocialMedia : Entity<string>
    {
        public string Message { get; set; }

        public string Departmen { get; set; }
        public SocialEnum MessageType { get; set; }

        public string FullName { get; set; }
}

这是我的模特

<div class=" right floated" id="SubjectButtons">
                                <button class="tiny ui inverted blue button General" id="general"><i class="globe icon"></i>Genel</button>
                                <button class="tiny ui inverted blue button Thanks" id="thanks"><i class="star icon"></i>Teşekkür Et</button>
                            </div>

这是我的cshtml

 $(function () {
            $('#Share').on('click', function () {
             
                var file = $("#imgupload").get(0).files;
                var droplist = $(".ui.fluid.search.dropdown").val();
                var message = $(".ui.form").val();
                var sbjtbtn = $("#general").val();
                var sbjtbtn = $("#thanks").val();
                
                var data = new FormData;
                data.append("Photo", file[0]);
                data.append("Message", message);
                data.append("FullNameList", droplist);
                data.append("MessageType", sbjtbtn);
               

                $.ajax({
                    url: '@Url.Action("Index")',
                    type: "POST",
                    data: data,                  
                    contentType: false,
                    processData: false,
                    success: function (data) {
                        $(".post-area").html(Counter);
                            $(".post-area").html(data);
                            $("#message").html(data.message);
                            $(".img-responsive").append('<img src="/Image/' + data + '"class=img-responsive thumbnail"/>');
                        
                        
                        if (sbjtbtn == $("#thanks")) {
                           $("#person").html(data.droplist);
                           $(".post-area").html(data);
                            $("#message").html(data.message);
                            $(".img-responsive").append('<img src="/Image/' + data + '"class=img-responsive thumbnail"/>');
                        }

                    },
                    error: function (data) {

                    }

                });
            });
        });

这是我的 js

public ActionResult Index(SocialMedia data)
        {          
                var model=GetSocialMedia();
                MediaList mediaList = new MediaList();
            if (mediaList.MessageType == data.MessageType)
            {
                mediaList.FullName = model.FullName;
                mediaList.Departmen = model.Departmen;
                mediaList.Message = data.Message;
                var file = data.Photo;
                if (file != null)
                {
                    string Location = Server.MapPath("/Image/" + file.FileName);
                    file.SaveAs(Location);
                    mediaList.Photo = "../Image/" + file.FileName;
                }
                mediaList.FullNameList = data.FullNameList;
            }             
            return PartialView("~/Views/SocialMedia/MediaList.cshtml", mediaList);
         
        }

这是我的控制器

当您按下通用按钮时,应该会出现一些数据。但是如果你按下感谢按钮,它应该会提取更多数据。我已经在ajax中单独定义了它。我给变量名一样。消息类型一般。消息类型永远是谢谢。我的错误在哪里? 我的索引页、模型和控制器较长,但我认为这些是我需要展示的部分。对不起我的英语:)

【问题讨论】:

    标签: javascript html asp.net-mvc model-view-controller asp.net-ajax


    【解决方案1】:

    您应该已经知道视图和模型之间的区别。无论如何在索引视图中放置这个 div

    .....
    
    <div id="mediaList">
    <partial name="~/Views/SocialMedia/MediaList.cshtml"  />
    </div>
    .....
    
    <div class=" right floated" id="SubjectButtons">
    <button class="tiny ui inverted blue button General" id="general"><i class="globe icon"></i>Genel</button>
      <button class="tiny ui inverted blue button Thanks" id="thanks"><i class="star icon"></i>Teşekkür Et</button>
    </div>
    

    和ajax

                    $.ajax({
                        url: '@Url.Action("Index")',
                        .....
    
                        success: function (data) {
                         $("#mediaList").html(data);
                         },
                         error: function (xhr) {
    
                        }
                    });
    

    【讨论】:

      【解决方案2】:

      您是否尝试过使用 POSTMAN 工具? https://www.postman.com/ 。该工具用于测试 Web 服务 API。如果您确实从 API URL 中获取了一些数据,请先尝试此方法。

      【讨论】:

      • 这没有帮助:/
      猜你喜欢
      • 2023-01-27
      • 2015-08-07
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 2013-04-06
      • 2019-08-27
      相关资源
      最近更新 更多