Передавайте одни и те же параметры в функцию jQuery снова и снова - PullRequest
0 голосов
/ 22 марта 2012

Я использую этот jQuery Ajax-Request, который я настроил для своих нужд:

jQuery.ajax({
    url: "apiBridge.php?url=" +  encodeURIComponent(url),
    headers: {
        "Some Weird Header": "123"
    },
    success: function(data){

    },
    complete: function(){
        doAlotOfStuff();
        andMore();
    }
});

Реальный код довольно длинный, и я считаю глупым копировать / вставлять все это каждый раз, когда мне нужносделайте Ajax-запрос в моем стиле.

Что я хочу сделать, так это определить эту функцию один раз, чтобы я мог использовать ее повторно.Все, что мне нужно изменить для каждого набора функций - это обратный вызов url и success .

Как правильно это сделать?

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Определите набор стандартных опций:

var ajaxOpts = {
    headers:{},
    url:"someUrl",
    complete:function(){//whatever;},
    otheroptions:"asneeded"
};

При выполнении каждого вызова ajax расширяйте объект локальных опций стандартными опциями:

$.ajax($.extend({url:"custom", success:doAThing}, ajaxOpts));

... или как@gdoron говорит, используйте ajaxSetup.Я предпочитаю $ .extend, потому что таким образом я не забиваю другие вызовы $ .ajax на странице, которой я не могу управлять.

1 голос
/ 22 марта 2012

Вы можете использовать функцию ajaxSetup .

jQuery.ajaxSetup (параметры)

Описание: установка значений по умолчанию для будущегоAjax-запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...