Ho cercato questo e non riesco a trovare una risposta riuscita, sto usando una chiamata jQuery ajax e non riesco a ottenere la risposta alla richiamata.Coffeescript ottenendo l'ambito appropriato dal metodo di richiamata
Ecco il mio codice CoffeeScript:
initialize: (@blog, @posts) ->
_url = @blog.url
_simpleName = _url.substr 7, _url.length
_avatarURL = exports.tumblrURL + _simpleName + 'avatar/128'
$.ajax
url: _avatarURL
dataType: "jsonp"
jsonp: "jsonp"
(data, status) => handleData(data)
handleData: (data) =>
console.log data
@avatar = data
Ecco il JS compilato:
Blog.prototype.initialize = function(blog, posts) {
var _avatarURL, _simpleName, _url,
_this = this;
this.blog = blog;
this.posts = posts;
_url = this.blog.url;
_simpleName = _url.substr(7, _url.length);
_avatarURL = exports.tumblrURL + _simpleName + 'avatar/128';
return $.ajax({
url: _avatarURL,
dataType: "jsonp",
jsonp: "jsonp"
}, function(data, status) {
return handleData(data);
});
};
Blog.prototype.handleData = function(data) {
console.log(data);
return this.avatar = data;
};
ho provato una dozzina di varianti e non riesco a capire come scrivere questo?
Grazie.
stesso qui ** handleData ** non viene mai chiamato restituisce solo un metodo, non il ritorno di ** handleData ** – pandabrand
Spiacente, cosa restituisce un metodo? inizializzare? Per essere chiari, al momento l'inizializzazione restituirà un oggetto jQuery jqXHR. http://api.jquery.com/Types/#jqXHR. I dati non vengono restituiti. – loganfsmyth
Scusa, avevi ragione, avevo solo bisogno di un'altra tazza di caffè. ;-) – pandabrand