jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Coffeescript从回调方法获得适当的范围大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
搜索过这个并且似乎无法找到成功的答案,我正在使用jQuery ajax调用,我无法得到回调的响应.

这是我的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

这是编译好的JS:

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;
  };

我已经尝试了十几个变种,我无法弄清楚如何写这个?

谢谢.

解决方法

您的参数不正确,您将回调作为第二个参数传递给$.ajax.您应该将其作为成功传递:在选项中,或将其添加到Ajax延迟对象.

由于handleData看起来像是附加到一个对象,很可能是这个,你需要用@作为前缀.

然您传递URL的方式有效,但API现在建议将uRL作为第一个参数传递,将选项作为第二个参数传递.

$.ajax _avatarURL,dataType: "jsonp"
  jsonp: "jsonp"
  success: (data,status) => @handleData(data)

要么

$.ajax _avatarURL,dataType: "jsonp"
  jsonp: "jsonp"
.done (data) => @handleData(data)

大佬总结

以上是大佬教程为你收集整理的jquery – Coffeescript从回调方法获得适当的范围全部内容,希望文章能够帮你解决jquery – Coffeescript从回调方法获得适当的范围所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。