2015-03-31 120 views
1

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

<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”。 任何帮助将不胜感激。

+0

你能否定义“不工作”?拆分电话并检查确切的位置。指令是否实际运行?检查通话后的HTML,看看该值是否被修改。 '$('。file_source')'是否选择所有正确的元素? – 2015-03-31 13:22:28

+0

您是否尝试使用prop()方法而不是attr()? – Disappointed 2015-03-31 13:22:48

+0

@AndreiV,标记的属性'src'未更改为src =“somePhoto.jpg”。 – StepUp 2015-03-31 13:28:24

回答

1

你有没有尝试从图像源内的网站分配一个有效的图像位置?我很确定,D:\somePhoto.jpg是服务器端的位置。如果是这种情况,那么javscript不知道如何得到它,因为js在客户端运行,并且在您已经从控制器发送数据之后,它没有办法做到这一点。

首先进行设备测试的图像从网页进行测试,如本 - 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'); 

如果这样的作品(我敢肯定,它会) ,那么你知道原因。只需将保存在项目的Content文件夹中的某个位置并使用该URL。

例如

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

如果您仍面临问题,请让我知道。

+0

你是非常正确的!我的图像是在服务器端的位置!非常感谢你!:) – StepUp 2015-04-02 05:59:16