Особистий блог Blohher'a

Читай Blohher брат

Реклама Google
Популярність сайта і якісний пошук

Шаблон AJAX функции

Раньше я начинал строить такое с использованием отдельных функций, но позже понял что лучше их не использовать. По этому здесь только анонимные функции.

Современный пример

    function ajax()
    {
        $.ajax({
            type: "POST",
            url: "",
            data: {test: 'test'},
            success: function(data){
                p = tryEval('(' + data + ')');
                if(p===false)
                {
                    return false;
                }
                if (typeof(p['error']) != 'undefined')
                {
                    if (p['error'] == 'FAIL') return false;
                }
                else
                {
                    // do success here
                }
            },
            error: function(s, e){
                return false;
            },
            timeout: 25000
        });
    }

Вот идентичный пример, но без использования return false


function ajaxGet()
{
    $.ajax({
        type: "POST",
        url: "<?php echo site_url('ind/ajaxRobotGetWork'); ?>",
        data: {},
        success: function(data){
            p = tryEval('(' + data + ')');
            if(p===false)
            {
                CB.attr('value', 'Помилка!');
            }
            else
            {
                if (typeof(p['error']) != 'undefined')
                {
                    CB.attr('value', 'Помилка!');
                }
                else
                {
                    CB.attr('value', 'OK');
                }    
            }

        },
        error: function(s, e){
            CB.attr('value', 'Помилка!');
        },
        timeout: 25000
    });
}

Тут используется функция tryEval, можете и ее скачать у меня.

function tryEval(code)
{
    var res;
    try
    {
        res = eval(code)
    }
    catch(e)
    {
        Log('------------ * * * eval error * * * -------------------- < [ ' + e.name + ' ]');
        res = false;
    }
    return res;
}
 

Залишити коментар

Нік
 
E-mail
 
Сайт
 
Текст
 

 
Blohher - Блог розробника сайтів