2012-02-29 4 views
0

У меня есть следующий код несколько раз:JQuery успех Ajax обработки событий

$.ajax({ 
     type: "POST", 
     cache: false, 
     url: "url here", 
     success: function (data) { 
      // do something here... 
     } 
    }); 

которые я хотел бы, чтобы превратить это в функцию, как использовать его только один раз, Somthing как:

function ajax (type, url, complete){ 
     $.ajax({ 
      type: type, 
      cache: false, 
      url: url, 
      success: function (data) { 
       GO TO THE METHOD SPECIFIED IN complete 
     } 
}); 

Как я должен запустить метод, указанный в полной переменной? Является ли это возможным? Я посмотрел на событие ajax success для jQuery, но поскольку это будет срабатывать для каждого элемента, который его использует, мне нужно было бы проверить, является ли он правильным запросом ajax ...

ответ

2

Если complete является ссылкой на функция,

function ajax (type, url, complete){ 
     $.ajax({ 
      type: type, 
      cache: false, 
      url: url, 
      success: complete 
}); 

Просто сделайте аргументы уверен complete «S соответствует тому, что дается success.

EDIT: Если complete является объектом, просто найти функцию на нем и использовать его:

success: complete.foo 

Надежда это то, что вы просите ...

0

Если понимать вопрос правильно

function ajax (type, data, url, complete){ 
    $.ajax({ 
     type: type, 
     data:data, 
     cache: false, 
     url: url, 
     success: complete 
    }); 
} 
var obj={ id:1} 
/* example case use */ 
ajax ('POST', obj 'site.com', myAjaxComplete); 

/* a success callback from ajax*/ 
function myAjaxComplete(data){ 
    // data argument is return data from server 

} 

EDIT: вы обязательно захотите добавить аргумент для отправки данных на сервер

Смежные вопросы