Eu penso quantos pedidos de Ajax você deve executar e quando eles devem ser feitos realmente depende da sua interface do usuário. O que eu pensaria primeiro é quais são as informações mais importantes relacionadas aos dados que estou carregando. Por exemplo, se é uma pessoa, eu diria que seu nome, sobrenome, data de aniversário é o que eu quero exibir (ou o tipo de informação que você pode encontrar no quadro do lado direito da Wikipedia para exibir informações pessoais . Acho que você precisa exibir informações críticas o mais rápido possível, mas depende de você (ou do seu cliente) determinar o que é crítico e o que não é.
Você pode então usar solicitações Ajax para carregar informações mais detalhadas (endereços? números de telefone? alças do twitter) que inicialmente não estão disponíveis e / ou ocultas para o usuário, por exemplo em um "tab " que não está selecionado. A guia selecionada por padrão é aquela com as principais informações. Você tem duas maneiras de fazer isso:
- Carregue quando a página estiver pronta , ou seja, quando ela aparecer para o usuário. É carregado enquanto o usuário olha as informações principais.
- Carregue quando o usuário clicar na guia. O usuário terá que esperar um pouco (pode ser muito rápido e quase desconhecido para o usuário).
De qualquer forma, adote consistência e sempre mostre o famoso "ícone de carregamento" quando os dados ainda não estiverem disponíveis. A segunda opção pode não ser ótima, mas pode ser útil para solicitações do Ajax que demoram um pouco, retornem muitos dados e, mais do que qualquer outra coisa, precise de um widget complexo para ser exibido. Você também evita chamadas desnecessárias do Ajax.
Quantos pedidos de Ajax você executa (a agregação de serviços como você escreveu significa que você agrega dados do lado do servidor) é menos importante na minha opinião do que o tempo total necessário para obter os dados de que você precisa. Se você exibir as informações mais rapidamente com um grande pedido, vá em frente, senão, fique com várias pequenas solicitações / respostas. Você deve definir um objetivo em termos de carregar a página o mais rápido possível e tentar alcançá-la.
De qualquer forma, você terá que experimentar e ver o que dá ao usuário a melhor experiência. Eu sei que não é um ótimo conselho, mas é o que eu tentaria fazer.