2

オブジェクトを使用して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();
4

2 に答える 2

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
        }
    }); 
于 2012-11-22T12:50:19.297 に答える
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
  }
于 2012-11-22T12:51:01.680 に答える