リクエストが中止されました (NS_BINDING_ABORT) Firefox では動作しますが、残りのブラウザでは動作します

Barbara Streisand
リリース: 2024-11-14 15:38:02
オリジナル
505 人が閲覧しました

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);

} catch (エラー: 任意) {

if (error.response) {

トースト.error(error.response.data.message);

} else {

トースト.エラー(エラー.メッセージ);

}

console.error("ログインに失敗しました:", エラー);

} 最後に {

setIsPending(false);

}

};

return(
//コードの残りの部分
);
};

ユーザー認証についてはこのように書きました。しかし、エラーリクエストが中止されます。
->資格情報を入力し、バックエンドに送信しました。
->トークンが生成され、成功メッセージが表示されます。
->その後、アプリページにリダイレクトする必要があります。しかし、リダイレクト中にリクエストは中止されます。

この問題を解決するために誰か手伝ってくれませんか

以上がリクエストが中止されました (NS_BINDING_ABORT) Firefox では動作しますが、残りのブラウザでは動作しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート