2012-03-17 3 views
0

Я начинаю видеть образец, который я использую для всех моих $ .ajax звонков, так что я хотел бы написать JQuery плагин под названием myAjax:

var myXHR = $.myAjax(myURL, mySettings) 

, и он будет всегда будет включать в себя следующее:

myXHR.done(function(result) { 
    if (result.MSG) { 
     $('#msg').html(result.MSG).addClass('alert alert-info'); 
    } 
}) 
.fail(function(A,B,C) { 
    $('#msg').html(C).addClass('alert alert-info'); 
}); 

Я также хочу, чтобы включить по умолчанию, которые я регулярно использовать:

var ajaxDefaults = {}; 
ajaxDefaults.type= 'POST' 
ajaxDefaults.dataType='json'; 
$.ajaxSetup(ajaxDefaults); 

Q: Как я могу написать плагин, чтобы сделать эти две вещи:

  1. Include по умолчанию для типа и DATATYPE
  2. Include .done по умолчанию и .fail

ответ

0

Чтобы установить плагин в jQuery довольно прост, так как вы следуете своей собственной документации.

JQuery documentation

Так для Вашего случая будет:

(function($) { 
     $.extend($.fn, { 
    myAjax: function(url, options) { 
     var opts = $.extend({}, $.fn.ajaxDefaults, options); 
     //your code.... 
      } 
    /* 
    * plugn defaults 
    */ 
    ajaxDefaults : { 
     type: "POST", 
     dataType: "json" 
    } 
    }); 
}(jQuery)); 

Я надеюсь, что это поможет.

+1

Я думаю, что вам нужно закончить свою функцию самозапускания:)() –

+0

«Параметры» по-разному окрашиваются с помощью Dreamweaver. Вот почему я использую имена, такие как 'myOptions' –

+0

Если ваш второй $ .extend может быть $ .ajax, может быть? –

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