0
Как я могу вернуть некоторые значения из плагина?Как вернуть значения из плагина jquery?
Вот мой плагин,
(function($){
$.fn.extend({
get_authentication: function(options) {
var defaults = {
file: 'json.php',
location: 'xfolder/',
callback: function(data) {}
}
var options = $.extend(defaults, options);
var o = options;
var $this = this;
var authentication = false;
$.get(http_root + o.file, function(data){
// Send the data out from this plugin.
if(data) {
options.callback(data);
authentication = true;
// alert(authentication); // --> get 'true'
return authentication;
}
// Redirect if the date returns as 'expired'.
if(data && data.error == 'expired') window.location = http_root + o.location;;
},"json");
}
});
})(jQuery);
Так что, если я получить правильные данные, как формат JSON, я хочу, плагин может вернуть «истина» автоматически. и он также позволяет обратный вызов, если я хочу попасть в данные json.
на дом готов,
var data = $.fn.get_authentication();
alert(data); // --> returns 'undefined'
Возможно ли это?
спасибо. попробовал. он просто возвращает 'false', даже если я получаю правильные данные из ajax ... – laukok
Извините - ответил слишком быстро -« $ .get »является сокращением для функции jQuery '$ .ajax'а, которая работает асинхронно. Таким образом, ваш скрипт продолжает работать, не дожидаясь результата вызова ajax. Вот почему мой ответ возвращает «ложь» даже на успех. – MiRaIT
попробуйте использовать "$ .ajax'function вместо установки'async'to'false': – MiRaIT