Wasteful Ajax Page Loading

Posted by Matt Dawdy on Stack Overflow See other posts from Stack Overflow or by Matt Dawdy
Published on 2010-05-14T21:30:26Z Indexed on 2010/05/14 21:34 UTC
Read the original article Hit count: 216

Filed under:
|

I've started a new job, and the portion of the project I'm working has a very odd structure. Every pages is a .Net aspx page, and it loads just fine, but nothing is really done at load time. Everything is really loaded from a jquery document.onready handler.

What is even more...interesting...is that the onready handler calls some ajax calls that drop entire .aspx pages into divs on the page, but first it strips out several parts of the the returned page. This is the "magic" script the previous programmer ran on all the returned html from his ajax calls:

function CleanupResponseText(responseText, uniqueName) {
    responseText = responseText.replace("theForm.submit();", "SubmitSubForm(theForm, $(theForm).parent());");
    responseText = responseText.replace(new RegExp("theForm", "g"), uniqueName);
    responseText = responseText.replace(new RegExp("doPostBack", "g"), "doPostBack" + uniqueName);
    return responseText;
}

He then intercepts any kind of form postback and runs his own form submission function:

function SubmitSubForm(form, container) {
//ShowLoading(container);
$(form).ajaxSubmit( {
            url: $(form).attr("action"),
            success: function(responseText) {
                $(container).html(CleanupResponseText(responseText, form.id));
                $("form", container).css("margin-top", "0").css("padding-top", "0");
                //HideLoading(container);
            }
        }
    );
}

Am I way offbase in thinking that this is less than optimal? I mean, how does a browser take out the html and head and other tags that don't have anything to do with what you are really trying to drop into that div?

Also, he's returning things like asp:gridview controls, and the associate viewstate, which can be quite large if his dataset is big.

Has anyone seen this before?

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about AJAX