I am writing an object that gets data using AJAX and shows it in <DIV>
Also this object must provide refresh method so data can be easily
refreshed.

Here is my implementation


function GetD(tb)
{
    $this = document.getElementById(tb);
    var obj = new MyData($this);
    return obj;
}


function MyData(tb)
{
    this.init(tb);
}

MyData.prototype = {
    init : function (tb){
        this.div = tb;
        this.refresh();
    },

    refresh: function(){
        var tb = this.div;
        $.ajax({
            type: 'POST',
            url: 'Default.aspx/Fetch',
            data: "{}",
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function(result) {Populate( tb, result);}
        });
    }
}

function Populate (tb, result)
{
    tb.innerHTML = result.d;
}


and the actual use:

<div id="test"></div>

<script>
var o = GetD('test');
...blablalba.....
o.refresh();
</script>

Question: Is is possible to move Populate into MyData object?

PS: I realize that the whole thing does not make much sense but since
I have trouble fully understand how 'this' and objects work in
JavaScript I am doing this as an exercise.


Thanks
George.

Reply via email to