0

这些是两个工作相同的选项:

        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');
            }
        });

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

4

1 回答 1

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
        }
    });
}
于 2013-03-14T13:27:04.220 回答