-2

我在我的网站上使用单个 ajax 方法,我需要参数化所有参数和选项,还有回调方法(成功、发送前、错误等)

现在我写道:

function ajax(_type,_url,_data,_dataType,_starter,_callback_success,_callback_error, etc ..){
    $.ajax({
        type:_type,
        data:_data,
        dataType:_dataType,
        url:'http://localhost:9292/'+_url,
        success: _callback_success,
        error: _callback_error,
        // etc ...
    });
}

之后我想以这种方式使用这种方法,例如:

ajax(
   'GET',
   users,
   {},
   'json',
   false,
   function(){
       alert(json);
   });

我不知道如何参数化状态(成功、错误、BeforeSend)?我正在尝试使用简单的变量 _callback_error 或 _callback_success 但我不清楚如何在状态中传递回调

希望很清楚我的问题

4

2 回答 2

3

Jquery 在调用它们时会将它们传递给回调。

function ajax(_type,_url,_data,_dataType,_callback_success, _callback_error){

   $.ajax({
        type:_type,
        data:_data,
        dataType:_dataType,
        url:'http://localhost:9292/'+_url,
        success: _callback_success,
        error: _callback_error
    });
}

这是您的函数的示例用法。

ajax('POST', '/test.php', {}, 'json', function(data, textStatus, jqXHR){ 
        // if request succeeds this callback will be invoked
    }, function (jqXHR, textStatus, errorThrown){ 
       // if request fails this callback will be invoked
    }
});  
于 2012-05-01T21:23:40.043 回答
1

将函数名称传递给成功和错误:

http://jsfiddle.net/SJ8Xm/

function mySuccess(data) {
  document.write(JSON.stringify(data));
}

function myError(err) {
  alert(err);   
}

ajax("jsonp", "https://ajax.googleapis.com/ajax/services/search/images?callback=?", { q: "cats", v:"1.0" }, "jsonp", "", mySuccess);

function ajax(_type,_url,_data,_dataType,_starter,_callback_success,_callback_error){
    $.ajax({
        type:_type,
        data:_data,
        dataType:_dataType,
        url:_url,
        success: _callback_success,
        error: _callback_error
    });
}​
于 2012-05-01T21:26:04.430 回答