$.post throwing "Illegal invocation "
ajax, javascript, jquery
Solution
In your `else`, you have:
password2 = $('#pass_re_enter');
penname = $('#pen_enter');
Then you have:
{password: password, password2: password2, username: username, pen_name: penname, TN: "TN"}
You are getting `Illegal invocation` because jQuery is trying to serialize the jQuery object for `$.post`, and it can't. It's probably trying to call a string method, and is passing it a jQuery object as context, thus causing the error.
You need to add `.val()`.
password2 = $('#pass_re_enter').val();
penname = $('#pen_enter').val();
Problem
Edit: None of the answers suggested so far have worked at all. I'm running this call with django. The first time it runs, the server returns "n_usr" (which changes the form the user files in). The second time, it just throws an `Illegal invocation` error. ``` function log_in () { username = $('#usr_enter').val(); password = $('#pass_enter').val(); if(!n_usr){ $.post('/ajax/login',{password: password, username: username}, function(data) { if(data == "n_usr"){ $('#new_user_entry').show('slow'); n_usr = true; } else { } }) }else { password2 = $('#pass_re_enter'); penname = $('#pen_enter'); $.post('/ajax/login', {password: password, password2: password2, username: username, pen_name: penname, TN: "TN"}, function(data) { if(data == "e_act"){ } else { } }); } } ```