Maison >interface Web >js tutoriel >Demande abandonnée (NS_BINDING_ABORT) dans Firefox mais fonctionnant dans les navigateurs restants

Demande abandonnée (NS_BINDING_ABORT) dans Firefox mais fonctionnant dans les navigateurs restants

Barbara Streisand
Barbara Streisandoriginal
2024-11-14 15:38:02624parcourir

Request Aborted (NS_BINDING_ABORT) In Firefox but working in remaining browsers

const Login = () => {

  const { isAuthenticated } = useSelector(

    (rootState : RootState) => rootState.auth

  );

 const router = useRouter();

 const dispatch = useDispatch();

 const searchParams = useSearchParams();

 const [isLoading, setIsLoading] = useState(false);

  const [passwordVisible, setPasswordVisible] = useState(false);

  const togglePasswordVisibility = () => {

    setPasswordVisible(!passwordVisible);

  };

 const ValidationSchema = z.object({

    email : z.string().email("Veuillez saisir une adresse e-mail valide"),

    mot de passe : z

      .string()

      .min(8, "Le mot de passe doit comporter au moins 8 caractères")

      .max(20, "Le mot de passe ne peut pas dépasser 20 caractères"),

    Remember_me : z.boolean().optional().default(false),

  });

 const [isPending, setIsPending] = useState(false);

  tapez ValidationSchemaType = z.infer;

  useEffect(() => {

    if (isAuthenticated) {

      router.push("/app");

    }

  }, [isAuthenticated]);

 const {

   regarde,

   setValue,

    inscrivez-vous,

    handleSubmit,

    formState : { erreurs },

  } = useForm({

    résolveur : zodResolver(ValidationSchema),

  });

  const handleGetProfileData = async () => {

    essayez {

      const réponse = attendre axios.get(${API_URL}/users/api/v1);

      const userData = réponse?.data?.data;

      return userData ;

    } capture (erreur) {

      console.log(erreur);

    }

  };

  const onSubmit : SubmitHandler = données asynchrones => {

    setIsPending(true);

    essayez {

      const validatedData = ValidationSchema.parse(data);

      const réponse = attendre axios.post(

        API_URL "/users/api/v1/auth/login",

        validatedData

      );

      const expiryTime = watch("remember_me")

        ? 30*24*60*60*1000

        : 7*24*60*60*1000;

      setCookie("token", réponse.data.data.token, {

        sécurisé : vrai,

       mêmeSite : "aucun",

        expire : new Date(Date.now() expiryTime),

        // domaine : process.env.NEXT_PUBLIC_APP_BASE_URL,

      });

      const userData = wait handleGetProfileData();

      dispatch(login(userData));

      router.push("/app");

      toast.success(response.data.message);

    } catch (erreur : n'importe laquelle) {

      if (erreur.réponse) {

        toast.error(error.response.data.message);

      } autre {

        toast.error(error.message);

      }

      console.error("Échec de la connexion :", erreur);

    } enfin {

      setIsPending(false);

    }

  };

retour(
//reste du code
);
};

J'ai écrit comme ceci pour l'authentification des utilisateurs. Mais la demande d'erreur est annulée.
-> J'ai entré les informations d'identification et je les ai envoyées au backend.
-> Le jeton génère et reçoit un message de réussite.
-> Après cela, je dois rediriger vers la page de l'application. mais lors de la redirection, la demande est abandonnée.

Quelqu'un peut-il m'aider à résoudre ce problème

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn