Como faço para criar um link exclusivo para os dados do usuário? [fechadas]
Estou tentando armazenar as informações que o usuário insere em um campo para um arquivo JSON e, em seguida, dando a ele um novo link onde a página é a cópia exata da primeira, mas os dados do usuário já estão inseridos. Este link deve ser gerado automaticamente quando o usuário clica em salvar dados.
Respostas
Com base nas informações limitadas que você me deu, é isso que eu recomendo que você analise.
O que você deseja fazer é essencialmente criar uma URL que possa servir as informações do usuário em uma solicitação GET . Existem algumas maneiras de começar, mas eu recomendo que você analise através do que é conhecido como string de consulta . Outra maneira de lidar com isso é o roteamento dinâmico . É assim que eu normalmente veria algo assim funcionando:
- Um usuário cria alguns dados sobre si mesmo, que você salva (eu recomendo um banco de dados em vez de um arquivo JSON simples, MongoDB pode ser um bom ponto de partida se você quiser ficar perto de JSON)
- Quando o usuário insere algumas informações, você cria alguma forma de identificação para essa entrada - pode ser uma versão em hash do ID de e-mail do usuário ou apenas um ID inteiro vinculado a essa entrada. Assim, em vez de seu JSON ser
{ data: data }
, seria algo como{ id: x, data: data }
- Uma vez feito isso, você pode ter outra página que espera uma URL como
/getUserData/?id=x
(string de consulta) OR/getData/id
(rota dinâmica) - você pode usar ExpressJS , Django ou qualquer framework do lado do servidor que estiver usando para extrair o parâmetro id, fetch os dados usando o parâmetro que você acabou de extrair e use-o para retornar os dados de que o usuário precisa.
EDIT: O Options Strategy Builder que você vinculou em seu comentário faz algo muito semelhante - eles apenas geram um ID exclusivo por configuração e usam esse ID para encaminhar para essa sessão. Provavelmente, ele foi criado com o ReactJS , e você pode ver como fazer algo assim no React aqui . Se você quiser fazer isso usando ExpressJS, verifique este para fora.