如何从jquery插件返回值?

时间:2013-07-12 16:19:54

标签: jquery jquery-plugins get jquery-1.9

如何从插件中返回一些值?

这是我的插件,

(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格式获取正确的数据,我希望插件可以自动返回'true'。如果我想进入json数据,它还允许回调。

准备就绪,

var data = $.fn.get_authentication();

alert(data); // --> returns 'undefined'

有可能吗?

1 个答案:

答案 0 :(得分:1)

您需要在$.get之后返回身份验证:

$.get(http_root + o.file, function(data){
...
},"json");

return authentication;