Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
¿Cómo redirigir y enviar variables del actual logueado correctamente?

Hola cómo estás ? Soy nuevo en javascript y necesito ayuda con una pregunta. Estoy tratando de enviar datos del miembro conectado actual y redirigir un dominio diferente a través de un botón en la creación del sitio web www.wix.com . Los datos son estado, nombre completo, email y dni. El lenguaje utilizado es javascript. Me gustaria saber que hago para poder enviar estos datos juntos en la url y que estoy haciendo mal en el codigo.

 import { currentMember } from 'wix-members'; import wixLocation from 'wix-location'; export function button2_click(event) { wixLocation.to("www.page.com" + currentMember.getMember().then((member) => { const id = member._id; const status = member.status const fullName = `${member.contactDetails.firstName} ${member.contactDetails.lastName}`; return member; }) .catch((error) => { console.error(error); }) ); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Después de mucha investigación en el foro de Wix Velo, descubrí la API members-wix , en este momento está teniendo problemas, lo que resulta en buscar funciones en la API de usuarios-wix, pero está obsoleta, lo que oculta funciones en el site el vellón dificultando el acceso a la información. Sin embargo, después de copiar una función de migración de users-wix members-wix , junto con la autenticación members-wix , funcionó perfectamente. También quiero agradecer a Mosh Feu por su ayuda https://stackoverflow.com/users/863110/mosh- feu, que me ayudó a entender y mejorar este código.

 import { currentMember } from 'wix-members'; import wixLocation from 'wix-location'; import { authentication } from 'wix-members'; // NOTE: This example uses the new wix-members.currentMember.getMember() // function, which replaces wix-users.currentUser. // See the function description for more information, and // line 36 for the deprecated example. // ... currentMember.getMember('FULL') .then((member) => { // Replaces currentUser.id const id = member._id; // Replaces currentUser.loggedIn const loggedIn = member ? true : false; // Replaces currentUser.getEmail() const loginEmail = member.loginEmail; const contactEmails = member.contactDetails.emails; }) .catch((error) => { console.error(error); }); currentMember.getRoles() .then((roles) => { // Replaces currentUser.role and currentUser.getRoles() return roles; }) .catch((error) => { console.error(error); }); // NOTE: This example uses the deprecated // wix-users.currentUser object. import wixUsers from 'wix-users'; // ... let user = wixUsers.currentUser; let userId = user.id; // "r5cme-6fem-485j-djre-4844c49" let isLoggedIn = user.loggedIn; // true user.getEmail() .then((email) => { let userEmail = email; // "user@something.com" }); user.getRoles() .then((roles) => { let firstRole = roles[0]; let roleName = firstRole.name; // "Role Name" let roleDescription = firstRole.description; // "Role Description" }); user.getPricingPlans() .then((pricingPlans) => { let firstPlan = pricingPlans[0]; let planName = firstPlan.name; // "Gold" let startDate = firstPlan.startDate; // Wed Aug 29 2018 09:39:41 GMT-0500 (Eastern Standard Time) let expirationDate = firstPlan.expiryDate; // Thu Nov 29 2018 08:39:41 GMT-0400 (Eastern Daylight Time) }); export async function button2_click(event) { authentication.onLogin(async(member) => { const loggedInMember = await member.getMember(); const memberId = loggedInMember._id; console.log(`Member ${memberId} logged in:`, loggedInMember); }); const member = await currentMember.getMember(); const id = member._id; const status = member.status; const email = member.loginEmail const fullName = `${member.contactDetails.firstName} ${member.contactDetails.lastName}`; const userDetails = JSON.stringify({ id, status, fullName ,email }); wixLocation.to(`https://www.url.com/?user=${encodeURIComponent(userDetails)}`); }
about 4 years ago · Juan Pablo Isaza Relatório

0

  1. Como mencionó James, getMember devuelve la Promesa, por lo que debe esperar ( await ) o que la Promesa se cumpla con los datos antes de poder usarlos.
  2. Está intentando concatenar un objeto (los detalles del usuario) con una cadena (la url). No es posible en Javascript. Puede "convertir" el objeto en una cadena usando JSON.stringify .
  3. Incluso si el objeto es una cadena, la URL a la que intenta redirigir no es válida, por ejemplo www.page.com{id:1111,status:'active'} . La forma válida de pasar datos a través de la URL es mediante parámetros de consulta, por ejemplo www.page.com?userDetails={id:1111,status:'active'} .
    Solo para estar seguro, codifique el objeto en cadena con encodeURIComponent() .
 export async function button2_click(event) { const member = await currentMember.getMember(); const id = member._id; const status = member.status const fullName = `${member.contactDetails.firstName} ${member.contactDetails.lastName}`; const userDetails = JSON.stringify({id, status, fullName}); wixLocation.to(`www.page.com?user=${encodeURIComponent(userDetails)}`); }

(Puede usar el "enfoque then " que está usando ahora, pero es una buena oportunidad para usar una API más moderna, como async/await)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda