不能使用ajax来渲染img标签

时间:2016-07-31 13:43:09

标签: javascript jquery html ajax asp.net-mvc

我使用ajax返回当前用户个人资料图片,但它带来了这个img与真正的src但是没有告诉我图像的位置在我的布局中如果我在我的html工作中使用这个img标签但它从请求起作用在mvc5

 public async Task<string> GetImageUrl()
    {
        var id = User.Identity.Name.SplitFormAuthentication().id;
        var firstOrDefault =await _user.Where(m => m.Id == id).FirstOrDefaultAsync();
        if (firstOrDefault != null)
        {
            string url =string.Format("<img src='~/File/Profile/{0}' id='' alt='' />", firstOrDefault.Avatar);
           var s=WebUtility.HtmlDecode(url);
            return s;
        }
        return "";
    }

并且在布局中ajax调用是

<script>
        $(document).ready(function () {
            GetImageUrl();
            function GetImageUrl() {

                //alert($(this).parent().parent().parent().attr("class"));

                var pa = $(".addEdu");

                $.ajax({
                    url: "@Url.Action("GetImageUrl","Home")",
                    type: "POST",
                    dataType: "html",
                    context: this,
                    data: {

                    },
                    success: function (data) {
                        alert(data);
                        $("#profileimg").html(data);
                        $(".ssss").html(data);

                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert("");
                    }
                });

            }
        })
    </script>

1 个答案:

答案 0 :(得分:1)

无法像这样解析图片网址。

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.0.0.RELEASE</version>
</dependency>

尝试

string url = string.Format("<img src='~/File/Profile/{0}' id='' alt='' />", firstOrDefault.Avatar);