> 웹 프론트엔드 > JS 튜토리얼 > 요청이 중단되었습니다(NS_BINDING_ABORT). Firefox에서는 작동하지만 나머지 브라우저에서는 작동합니다.

요청이 중단되었습니다(NS_BINDING_ABORT). Firefox에서는 작동하지만 나머지 브라우저에서는 작동합니다.

Barbara Streisand
풀어 주다: 2024-11-14 15:38:02
원래의
602명이 탐색했습니다.

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

const 로그인 = () => {

  const { isAuthenticated } = useSelector(

    (rootState: RootState) => 루트스테이트.인증

  );

  const router = useRouter();

  const 디스패치 = useDispatch();

  const searchParams = useSearchParams();

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

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

  constgglePasswordVisibility = () => {

    setPasswordVisible(!passwordVisible);

  };

  const ValidationSchema = z.object({

    이메일: z.string().email("유효한 이메일 주소를 입력하세요."),

    비밀번호: z

      .string()

      .min(8, "비밀번호는 8자 이상이어야 합니다.")

      .max(20, "비밀번호는 20자를 초과할 수 없습니다."),

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

  });

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

  ValidationSchemaType = z.infer;

유형

  useEffect(() => {

    if (isAuthenticated) {

      router.push("/app");

    }

  }, [인증됨]);

  const {

    시청하세요

    setValue,

    등록하세요,

    핸들제출,

    formState: { 오류 },

  } = useForm({

    리졸버: zodResolver(ValidationSchema),

  });

  const handlerGetProfileData = async () => {

    시도해 보세요. {

      const 응답 = axios.get(${API_URL}/users/api/v1)을 기다리고 있습니다.

      const userData = response?.data?.data;

      userData 반환;

    } 잡기(오류) {

      console.log(오류);

    }

  };

  const onSubmit: SubmitHandler = 비동기 데이터 => {

    setIsPending(true);

    시도해 보세요. {

      const validedData = ValidationSchema.parse(data);

      const 응답 = axios.post를 기다립니다(

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

        검증된 데이터

      );

      const expiryTime = watch("remember_me")

        ? 30*24*60*60*1000

        : 7 * 24 * 60 * 60 * 1000;

      setCookie("token", response.data.data.token, {

        보안: 참,

        sameSite: "없음",

        만료: new Date(Date.now() expiryTime),

        // 도메인: process.env.NEXT_PUBLIC_APP_BASE_URL,

      });

      const userData = handlerGetProfileData()를 기다립니다.

      디스패치(login(userData));

      router.push("/app");

      toast.success(response.data.message);

    } 잡기(오류: 모두) {

      if (error.response) {

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

      } else {

        toast.error(error.message);

      }

      console.error("로그인 실패:", error);

    } 드디어 {

      setIsPending(false);

    }

  };

반품(
//나머지 코드
);
};

사용자 인증을 위해 이렇게 작성했습니다. 하지만 오류 요청이 중단되었습니다.
-> 자격 증명을 입력하고 백엔드로 보냈습니다.
-> 토큰이 생성 중이며 성공 메시지를 받습니다.
-> 그런 다음 앱 페이지로 리디렉션해야 합니다. 하지만 리디렉션하는 동안 요청이 중단됩니다.

이 문제를 해결하는 데 도움을 줄 수 있는 사람이 있나요

위 내용은 요청이 중단되었습니다(NS_BINDING_ABORT). Firefox에서는 작동하지만 나머지 브라우저에서는 작동합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿