It looks like you're asking two questions here:
1) How do I request data for multiple people with a single request?
2) Why is the ID incrementing not working?

My answers:

1) You skipped most of your makePOSTRequest code but this is how I
would change it. You should be able to retrieve the data for all of
your friends with a single request instead of firing off a request for
each friend. The snippet below assumes that the data that you're
storing on your back-end is keyed by the person ID:

/* ************************************** */
var postData = {
  people: []
};

this.viewerFriends.each(
  function(person) {
    postData.people.push(person.getId());
  }
);

var params = {};
params[gadgets.io.RequestParameters.METHOD] =
gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.POST_DATA] =
gadgets.io.encodeValues(postData);
params[gadgets.io.RequestParameters.CONTENT_TYPE] =
gadgets.io.ContentType.JSON;
params[gadgets.io.RequestParameters.AUTHORIZATION] =
gadgets.io.AuthorizationType.SIGNED;
...
gadgets.io.makeRequest(url, callback, params);
/* ************************************** */

Notice that I'm expecting a JSON object back. This way, I can create
an object for each person on the server, store it in an array, and
send this back to the client as a JSON-encoded string so I can access
all of the friend data in my callback. Please let me know if you have
any questions on how this works. (For the record, you can also format
an XML response and use gadgets.io.ContentType.DOM if you prefer.)

2) I'm a bit confused on why you're using incrementing IDs. This
assumes that you know the number of friends to begin with -- if you
create 10 divs statically with IDs friend1, friend2, ..., friend10
then you can only show 10 friends. I would create these divs
dynamically instead. You can still assign them an ID if you wish, but
you don't need to:

// iterating through the number of objects returned in the JSON/DOM
result above:
var newDiv = document.createElement();
newDiv.id = 'friend'+i;
newDiv.innerHTML = ...
document.appendChild(newDiv);

As for your problem above, I'm not sure but it may have been due to:
increment=("ifriends"+i); -- should this be increment=("friends"+i);
instead?

I hope this helps. Let me know if you have any questions.

- Jason

On Jun 25, 1:06 am, Prithvi Raj <[EMAIL PROTECTED]> wrote:
> I need to increment <div id="friends0"> ....... <div
> id="friends25"> .. and so on...
> That is... for every Friend of the user. Iam fetching some data from
> my server. And display them.
>  I want to create a unique div ID for each of the html content fetched
> for each user. But there is some problem in iterating the div iDs...
> there problem is in the statement
> document.getElementById(increment).innerHTML = html;  where
> 'increment' is a variable containing "friends"+i. where i iterates....
> What should i do to make this code work??
>
> Here is the code i have used.
> ------------------------------------------------------
> var i=0;
> var increment="friends"+i;
>
>  viewerFriends.each(function(person) {
>
>  makePOSTRequest();
>
> function makePOSTRequest();
> {
> .
> .
> .
> .
>    gadgets.io.makeRequest(url, reqpost, params);
>  }
>
>   function reqpost(obj) {
>
>       var str = obj.text;
>       var html =  str.substr(0,400);
>
> document.getElementById(increment).innerHTML = html;      // i tried
> even (""+increment+"") and without assigning it to a variable i tried
> directly also ("friends"+i)
>
>   };
>
> i=i+1;
> increment="ifriends"+i;
>
> });
>
>  ---------------------------------------
> if this is not a proper way. What all the other ways can i fetch data
> from my server for each person???
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Orkut Developer Forum" group.
To post to this group, send email to opensocial-orkut@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/opensocial-orkut?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to