Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Roteamento com AngularJS e Slim PHP


Eu não estou usando php, mas sim NodeJs. No entanto, isso é o que notei ao usar o roteamento com AngularJs e o backend.

A solicitação inicial

Quando um usuário fizer uma solicitação inicial para seu aplicativo. Ele passa pela lógica do php primeiro. (por exemplo, $app->get('/requests', 'getRequests') ). No meu caso O trabalho do php/back-end aqui são duas coisas:

  • Obtenha dados do back-end apenas para fins de SEO (a maioria dos rastreadores não executa client-js, portanto, você precisa inserir esses dados antes de enviar a página ao usuário)

  • Mais importante ainda, forneça o arquivo de índice em seu aplicativo angular junto com todo o JS. Uma vez que o usuário recebe isso, o Angular inicia e você está pronto para ir.

Solicitações subsequentes

Depois que o usuário tiver carregado seu aplicativo Angular. O servidor (php) não sabe nada sobre como o usuário navega em seu aplicativo angular . Lembre-se, angular é do lado do cliente e tenta reduzir o número de solicitações ao servidor. Quando o usuário navegar para "(#)/requests/1234", ele disparará o .when('/requests/:id' rota, mas não o $app->get('/requests/:id', 'getRequest'); . Se você deseja acessar um endpoint que obtém dados do seu banco de dados, você precisa usar o $http service dentro do angular e faça algo assim $http.get('requests/1234') e obter os dados dessa forma.

Deixe-me saber se isso não foi claro, vote / aceite se foi :)