加载页面后加载图像

时间:2016-09-14 16:52:04

标签: javascript jquery html signalr

我有一个使用signalR的页面。服务器调用客户端函数并将图像路径传递给它。即' Contents / myimage.png'。在客户端函数内部,我使用jquery来加载这些图像。我没有在chrome中出现任何错误,图片没有默认情况下没有加载图片,但图片也没有。该函数被调用。我错过了什么?

client.onStart = function(myPortrait){
   $("#myPortrait").load(myPortrait);
}


<img id="myPortrait" width="256" height="256" />

2 个答案:

答案 0 :(得分:3)

$.load将html替换为url中的内容,例如,对于返回<div>replacement</div>的函数,您可以这样做:

$("#mydiv").load(url);

你得到

<div id='mydiv'><div>replacement</div></div>

在这种情况下,当数据将url返回到图像时,您要设置图像的 src ,而不是替换html,因此请更改为:

client.onStart = function(myPortrait) {
    $("#myPortrait").prop("src", myPortrait);
}

如果您通过ajax调用(而不是SignalR调用)执行此操作:

$.ajax({
    url: url,
}).done(function(data) {
    $("#myPortait").prop("src", data);
});

答案 1 :(得分:0)

改为使用:

$("#myPortrait").load(myPortrait);

你可以使用:

$("#myPortrait").attr('src', myPortrait);