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數據,它也允許回調。
DOM的準備,
var data = $.fn.get_authentication();
alert(data); // --> returns 'undefined'
這可能嗎?
感謝。試過了。它只是返回'false',即使我從ajax獲得正確的數據... – laukok
對不起 - 回答太快 - '$ .get'是運行異步的jQuery'$ .ajax'函數的簡寫。所以你的腳本在不等待ajax調用的結果的情況下繼續運行。這就是爲什麼我的答案在成功時返回'失敗'。 – MiRaIT
嘗試使用「$ .ajax'function而不是設置'async'to'false': – MiRaIT