0
Ich versuche, ein Bild in meiner Vorlage auf dem Erfolg eines Ajax Anrufs zu finden ... aber ich kann nicht!Ich finde kein Element in meiner Vorlage nach Ajax Anruf
Hier ist mein Code:
class AvatarView extends Backbone.View
template: JST["backbone/templates/twitter_avatar"]
initialize:(options) ->
@user = options.user
render: =>
@$el.html(@template({
view_id: @cid
avatar_url: @user.avatar() || "src/image_not_found.png"
}))
@$el.find(".avatar").on('error', @_reloadAvatar)
_reloadAvatar: =>
$.ajax
type: 'GET'
url: "/profiles/api/twitter/#{@user.social_network_id()}/avatar_url"
success: (response) =>
if response.success
avatar_url = response.avatar_url
else
avatar_url = 'https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png'
@$el.find(".avatar").attr('src', avatar_url) # Here is the problem
Wenn ich debuggen dies:
- "this" ist eine Instanz von AvatarView und
- @ $ el ein leeres div ist, und kann‘ t finde die Avatarklasse.
Hier ist die Vorlage:
<img src="<%= avatar_url %>" alt="avatar" class="avatar" id="avatar-image-<%= view_id %>">
mir, wie ich fiel ich mein DOM-Objekt oder etwas ähnliches zu verlieren ..
Ich bin mir nicht sicher, warum das passiert, aber was passiert, wenn Sie den Onerror Callback tatsächlich den Avatar und Cal des Benutzers ändern l die Renderfunktion wieder? – itdoesntwork