javascript - Passing post variables through ajax -


i have link:

<a class="tag" wi_id="3042" wl_id="3693" for_user_id="441" href="#a"> 

which triggers ajax call

$(".tag").click(function() {         var for_user_id = $(this).attr("for_user_id");         var wl_id = $(this).attr("wl_id");         var wi_id = $(this).attr("wi_id");         $.ajax({             type: "post",             url: "/ajax/actions/tag.php",             data: {                  'for_user_id': 'for_user_id',                  'wl_id': 'wl_id',                 'wi_id': 'wi_id'             },             success: function(data){                 $(this).text("you've tagged this");                 $(this).closest('.gl_buttons_holder').toggleclass('gl_buttons_holder gl_buttons_holder_tagged');                 $(this).closest('.gl_buttons').addclass('tagged');             }         });         return false;     }); 

but in console see following:

typeerror: e undefined 

the ajax file gets processed post data blank, , success actions not happen, gets posted zeros , classes not changed

i have stared , stared... obvious?

this not passed automatically ajax callback function. can use context: parameter tell jquery pass it:

    $.ajax({         type: "post",         url: "/ajax/actions/tag.php",         data: {              'for_user_id': for_user_id,              'wl_id': wl_id,             'wi_id': wi_id         },         context: this,         success: function(data){             $(this).text("you've tagged this");             $(this).closest('.gl_buttons_holder').toggleclass('gl_buttons_holder gl_buttons_holder_tagged');             $(this).closest('.gl_buttons').addclass('tagged');         }     });