Also, after setting the variable for User from an ajax call to _session, 
instead of merely checking for the existence of the userCtx, you could check 
for an actual value:

if(User != undefined || null) {
// Do something for the logged in User
// Else if not logged in, go to login/signup page
} else {
 window.open(Pfad + "index.html", target="_self");*
};
};

On Oct 23, 2011, at 8:22 AM, Robert Wadholm wrote:

You could use a synchronous AJAX call using jquery on each page (this should be 
placed before much of the other js for the page):

$.ajax({
url: '/_session?callback=',
dataType: 'json',
async: false,
success: function(session){
User = session.userCtx.name<http://session.userCtx.name>;
}
});

Bob

On Oct 23, 2011, at 5:08 AM, Alexander Gabriel wrote:

Great, thank you Benoit.

Are there examples of entire applications, where I can see how the username
is fetched after logging in and opening a new html-page?

Alex



2011/10/23 Benoit Chesneau <[email protected]<mailto:[email protected]>>

there are ex of code on github:

https://github.com/couchapp/couchdb-login-jquery
https://github.com/couchapp/example

enoit
On Sunday, October 23, 2011, Alexander Gabriel 
<[email protected]<mailto:[email protected]>> wrote:
Hi all

This is surely a very basic beginners problem - I am biologist and only
starting to learn programming. It may well be a java script issue and
have
nothing to do with couchdb.

In my couchapp (

http://barbalex.iriscouch.com/evab-ch_barbalex_evab/_design/evab/index.html
, https://github.com/barbalex/EvabMobile) every page needs to know the
user
name as that is saved in every file. After logging in I get the user name
like this in every page:

*User = "";   //use global variable to save user name in*
*$.couch.session({*
* success : function(r) {*
* userCtx = r.userCtx;*
* if (userCtx.name<http://userCtx.name>) {*
*                        //save user name in variable*
* User = userCtx.name;*
* } else {*
* //user is not logged in, present the login page*
* window.open(Pfad + "index.html", target="_self");*
* }*
* }*
*});*

There probably are several problems here (for example using a global
variable, not using a dedicated function to fetch the username) which is
probably why this is bugging me - the variable "User" doesn't seem to
return
the username correctly - sometimes it does, others it doesn't (even
though
"GET http://barbalex.iriscouch.com/_session"; returns "


{"ok":true,"userCtx":{"name":"z","roles":[]},"info":{"authentication_db":"_users","authentication_handlers"
:["oauth","cookie","default"],"authenticated":"cookie"}}"). I have spent
a
while now on this problem and come to the point where I need a pointer.

I don't expect you experts to teach me java script of course. It would be
great if you could point me to some couchapps I could look into to learn
how
this (and other stuff) is done correctly.

I looked into AndroidGrocerySync for Android. But it seems to be a native
app programmed in java.

Your help is much appreciated!

Alex




Reply via email to