I would do like that: isAuthenticated function return true or false according the entry, then check if is Authenticated, ajax to your php something like if(isAuthenticated($('#username').val(), $('#password').val())) {
$ajax( { -- -- success: function(msg){ alert(msg=='authenticated') } } ); } On Jul 26, 3:56 am, Sander Thalen <stha...@gmail.com> wrote: > Hello all, > > I've recently started with jQuery because I wanted to use it for posting > details from an login form to a PHP script which should return whether the > user is authenticated or not. > > For this I use $.ajax, because of it's flexibility and I prefer to use it in > this implementation. Reading (jQuery docs and examples) and searching a lot > did not solve me on one issue: fetching the data in the callback to the > global scope. This one is driving me crazy. > > Here is the code: > <script type="text/javascript"> > $(document).ready(function(){ > var form = $('#form'); > form.submit(function(){ // Only execute this function on submit > if(isAuthenticated($('#username').val(), $('#password').val())) > { > return true; // I only want the form to be submitted when > the credentials are valid (found to be valid by the PHP script) > } else { > return false; > } > }); > > function isAuthenticated(username, password) { // This function call > the PHP script to ask whether the credentials are valid or not. > $.ajax({ > type: "POST", > url: "json.php?module=login&action=authenticate", > data: "username=" + username + "&password=" + password, > success: function(msg) { > alert(msg); // This returns 'authenticated' in plain > text (at the moment) from the PHP script. Functions fine or course, but I > want to use it outside this function. How?? > } > }); > > And here is why I want this to work: > if(msg == "authenticated") { // This function should be able to > read the var 'msg' from the callback in the function above. How? > alert("Outside: " + msg); // At this point, msg is of course > undefined. > return true; > } > } > }); > </script> > > So the only question actually is, how can I let the function that should > check the message of the response know that 'msg' has been set? > > I hope this makes it clear what I mean ;) > > Thanks, > Sander