更好的方法 - 直接使用ajax调用或将其置于函数中并从多个位置调用它

时间:2013-03-14 13:19:00

标签: ajax

这两个选项都是相同的:

        var promise=doAjax(dataStr,'shop');
        promise.success(function(data){
            json=eval('('+data+')');
            console.log(json['Data']);
        });
        promise.error(function(data){
            alert('There was an error');
        });

有功能:

function doAjax(dataStr,process){
    return $.ajax({
        data: dataStr,
        url: '/process/'+process+'/'
    });
}

或者它看起来像这样:

        $.ajax({
            data: dataStr,
            url: '/process/shop/',
            success: function(data){
                json=eval('('+data+')');
                console.log(json['Data']);
            },
            error: function(data) {
                alert('There was an error');
            }
        });

那么最有效的方法是什么,因为第一种方法是稍微轻松的代码?

1 个答案:

答案 0 :(得分:0)

如果您打算经常使用您的包装器,您可以实现它以确保您的代码保持清洁,有时我使用以下包装器:

//initPostData() returns ready-to-post js object
ajaxWrapper(initPostData(), "url", function (response) { 
    //some logic here              
});

function ajaxWrapper(postData, url, callback) {
    $.ajax({
        type: 'POST',
        contentType: "application/json; charset=UTF-8",
        dataType: 'json',
        data: JSON.stringify(postData),
        url: url,
        success: function (response) {
            callback(response);
        },
        error: function () {
            //error logic
        }
    });
}