简体   繁体   中英

Add throbber to jQuery post()

I am displaying a throbber when I do an ajax post. Below is how I am doing it. I would like to make the code more concise. Could I extend $.post to do so? Other options? Thanks

//myThrobber is an object that displays a throbber in the center of the page
myThrobber.start();
$.post('somePage.php',myData,function (json){
    myThrobber.stop();
    //do whatever
    },'json');

Here is how I'd write a postThrob function wrapped around $.post .

$.fn.postThrob = function (throbber, url, data, callback) {
    throbber.start();
    $.post(url, data, function (response) {
        callback(response);
        throbber.stop();
    });
};

So now you can use $.postThrob instead of $.post . Just pass your throbber object in as the first argument.

If you don't want to pass your throbber obj in, you can use a global variable, though less preferable. Just don't create the object inside the function itself.

I still don't see much value in doing this though ;(

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM