callback $.get()
Из php-скрипта (cms Drupal), я добавляю JS-скрипт к странице, который должен записать информацию в сессию при собитии клика по ссылкам (.view-id-collections a). При клике запускается функция get(), где по ссылке срабатывает другой php-скрипт, в котором происходит запись в сессии. Затем я получаю вывод в консоль: "paging api View link has been clicked: session saved". Сам переход не происходит, так я для отладки поставил return false; Информация записана в сессию, всё нормально.
(function ($) {
// Add logic to Drupal.behaviors - so it gets triggered even after AJAX page update
Drupal.behaviors.pagingApiSaveActiveView = {
attach: function (context, settings) {
$(".view-id-collections a").once("pagingapi", function(){
$(this).click(function() {
// store view name in session?
var s_url = "/paging_api_save_active_state_id/ajax/collection01";
$.get( s_url, function( data ) {
console.log("paging api View link has been clicked: session saved");
});
return false;
});
});
}
};
})(jQuery);
Но проблема в том, что если я убираю return false;, то сессия пуста, хотя я получаю в консоле "paging api View link has been clicked: session saved". Вероятно сессия не успевает записаться, до срабатывания ссылки. Как быть? |
Ну теперь перехода по ссылке нет. Переход я запрещал, для отладки скрипта. Даже если после get() я поставлю редирект, то мне же всё равно нужен колбэк?
$(this).click(function(e) {
e.preventDefault();
// store view name in session?
var s_url = "/paging_api_save_active_state_id/ajax/collection01";
$.get( s_url, function( data ) {
console.log("paging api View link has been clicked: session saved");
});
// window.location.replace("http://site.ru");
});
|
Я не понимаю, почему у меня выдаёт ошибку, если я делаю так:
$(this).click(function(e) {
e.preventDefault();
// store view name in session?
var s_url = "/paging_api_save_active_state_id/ajax/collection04";
$.get(s_url)
.done(function() {
console.log( "Data Saving");
// window.location.replace("http://site.ru");
});
});
Uncaught TypeError: undefined is not a function В документации вроде так написано: http://api.jquery.com/jquery.get/ |
| Часовой пояс GMT +3, время: 14:49. |