无法通过JQuery更改图像的src

时间:2015-03-31 13:10:41

标签: javascript c# jquery ajax asp.net-mvc

我正在开发ASP.NET MVC 4应用程序。我试图在控制器将数据发送到视图后更改src属性,但是我的所有尝试都没有结果。 View中的脚本:

<script type="text/javascript">
$(document).ready(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        url: '/Home/UploadFiles',
        autoUpload: true,
        done: function (e, data) {
            $('.file_name').html(data.result.name);
            $('.file_type').html(data.result.type);
            $('.file_size').html(data.result.size);             
            $('.file_source').attr('src', 'D:/somePhoto.jpg'); //this row does not set 'src' of <img/>
        }
    }).on('fileuploadprogressall', function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('.progress .progress-bar').css('width', progress + '%');
    });
});
</script>

<img class="file_source" src="" /> <!--src attribute is just empty---> 

你能告诉我在哪里犯了错误吗? 这一行不起作用:

$('.file_source').attr('src', 'D:/somePhoto.jpg'); //this row does not set 'src' of <img/>

标签的属性'src'不会改为src =“D:/somePhoto.jpg”。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否尝试过从图像源内的网络分配有效的图像位置?我很确定,D:\somePhoto.jpg是服务器端的位置。如果是这种情况,则javscript不知道如何获取它,因为js在客户端运行,并且在您已经从控制器发送数据之后,它无能为力。< / p>

首先使用可从网络上测试的图像进行测试,例如 - http://sci8.com/wp-content/uploads/2014/10/test-all-the-things.jpg

所以将代码更改为 -

$('.file_source').attr('src', 'http://sci8.com/wp-content/uploads/2014/10/test-all-the-things.jpg');

如果有效(我很确定,它会),那么你就知道原因了。只需将somePhoto.jpg保留在项目Content文件夹中的某个位置,然后使用该网址。

例如

$('.file_source').attr('src', 'http://<hostaddress>/content/image/somePhoto.jpg');

如果您仍然遇到问题,请告诉我。