Используя отложенный объект в $ .ajaxJQuery отложенный метод и Ajax beforeSend()
- успех обратного вызова может заменить на
deferred-method done()
- ошибка обратного вызова ACN заменен
deferred-method fail()
- и полный обратный вызов может быть заменен
always()
с помощью
var jqxhr = $.ajax({
url: Config.baseUrl+"/ajax/favourites/set-favourite.ajax",
dataType: "json",
data: attrs,
type: "POST",
beforeSend: function(){
console.log("before send");
}
});
Как я могу реализовать beforeSend-callback
с использованием отложенного объекта?
Почему я не использую функцию beforeSend-callback внутри функции $.ajax
? Поскольку запрос находится внутри экземпляра модели (http://canjs.com/docs/can.Model.model.html#section_Non_standardServices) , поэтому объект модели выполняет запрос, а все остальные - как, например, манипулируют DOM, будет выполняться в отложенном объекте. Я хотел бы манипулировать DOM перед отправкой запроса ajax.
как я могу это сделать?
Я не думаю, что вы можете (если это не «прогресс», но я думаю, что он был бы уволен до того, как будет создано возвращенное обещание). Зачем вам нужен обратный вызов? – Bergi
как я писал ... Я хотел бы манипулировать DOM перед отправкой запроса ajax. – JuKe
Запрос уже сделан, когда вы добавляете отложенные методы к возвращенному обещанию, поэтому вы не можете добавить его после этого, который должен быть выполнен заранее. Может быть, вы можете привязать к умолчанию defaultSend (используя $ .ajaxSetup)? – towr