如何从plguin获取变量的值或从插件中发送值?
例如,这是我的插件,它通过ajax检索用户信息,并将用户信息存储在变量中,
(function($){
$.fn.extend({
get_authentication: function(options) {
var defaults = {
file: 'authentication_json.php',
location: 'cms/'
}
var options = $.extend(defaults, options);
var o = options;
var object = $(this); // now the object is the selected element such as #popup
$.get(http_root + rp_cms+ o.file, function(data){
if(data) var user_id = data.user_id;
// Redirect if the date returns as 'expired'.
if(data && data.error == 'expired') window.location = http_root + o.location;
//alert("Data Loaded: " + data);
},"json");
}
});
})(jQuery);
当我点击某个链接时,我会调用此插件,
$('.get-user').click(function(){
$.fn.get_authentication();
alert(user_id);
});
我收到这样的错误。
有什么想法吗?
答案 0 :(得分:1)
我为你的插件添加了一个回调。这是一个示例+修改后的代码
(function($) {
$.fn.extend({
get_authentication: function(options) {
var defaults = {
file: 'authentication_json.php',
location: 'cms/',
callback: function(user_id) {}
}
var options = $.extend(defaults, options);
var o = options;
var object = $(this); // now the object is the selected element such as #popup
$.get(http_root + rp_cms + o.file, function(data) {
if (data)
options.callback(data.user_id);
// Redirect if the date returns as 'expired'.
if (data && data.error == 'expired') window.location = http_root + o.location;
alert("Data Loaded: " + data);
}, "json");
}
});
})(jQuery);
$(function() {
$.fn.get_authentication({
callback: function(user_id) {
alert(user_id);
}
});
});
答案 1 :(得分:0)
编辑:
正如Manuel所说,使用回调。