Javascript对象调用函数内的函数

时间:2012-11-22 12:47:17

标签: javascript jquery ajax

我很高兴用对象编写javascript。现在我试图做一个ajaxcall并有一个回调函数,但我可以在ajax调用中达到回调函数。

这是代码,我该如何调用回调函数?

function smarttalkObj() {

    this.base_url = 'http://';

    this.getPts = function() {

        $.ajax({
            url: this.base_url + 'getPTS',
            dataType: "jsonp",
            jsonp : "callback",
            jsonpCallback: "this.callback_pts",
            contentType: 'application/x-javascript'
        }); 
    }


    }

    this.callback_pts = function(data) {

        console.log(data);

    }


}

smarttalk = new smarttalkObj();

smarttalk.getPts();

2 个答案:

答案 0 :(得分:3)

ajax方法可以在设置中收到成功错误回调函数。像这样:

   $.ajax({
        url: this.base_url + 'getPTS',
        dataType: "jsonp",
        jsonp : "callback",
        contentType: 'application/x-javascript',
        success: function(data, textStatus, jqXHR){
            console.log(data);
            // your callback function here
        },
        error: function(jqXHR, textStatus, errorThrown){
            // callback in case of error
        }
    }); 

答案 1 :(得分:1)

添加success field

success: function(data)
{
 // put code here
}

对于你的例子:

$.ajax({
        url: this.base_url + 'getPTS',
        dataType: "jsonp",
        jsonp : "callback",
        jsonpCallback: "this.callback_pts",
        contentType: 'application/x-javascript',
        success: function(data)
                 {
                  // put code here
                  }
    }); 

您也可以使用单独的功能:

$.ajax({
        url: this.base_url + 'getPTS',
        dataType: "jsonp",
        jsonp : "callback",
        jsonpCallback: "this.callback_pts",
        contentType: 'application/x-javascript',
        success: getCallback
    }); 

  function getCallback (data)
  {
  // put code here
  }