카심
81
2020-09-03 11:35:33
3
104

세션스토리지에 저장된 값을 보내고 싶습니다.



  const SubmitQuery= () =>{
    fetch(CRSP_SUBMIT,{
      method: "POST",
      headers: {
        'Content-Type': 'application/json',
      },
      body: 
        (sessionStorage.getItem("check"))
        (sessionStorage.getItem("comp"))
        (sessionStorage.getItem("startDate"))
        (sessionStorage.getItem("endDate"))
        (sessionStorage.getItem("selected"))
        (sessionStorage.getItem("PERCO"))
        (sessionStorage.getItem("PERNO"))
    })
    .then(res => res.json())
    .then(res => {
      // <Link href={getFile.url}
      //   download={getFile.saveAsFileName}>
      // </Link>
    })
  }

TypeError: sessionStorage.getItem(...) is not a function


이라는 글자가 뜨는데 왜 그런지 모르겠습니다.

세션에 해당 값들은 다 저장되어있는데, 처음엔 없는 게 있을수도 있어서

모두 호출하는 sessionstorage.getitem()을 쳤더니 인자가 없어서 아예 안된다는 알람이 떠서 일일히

넣어주고 있습니다.
저장된 값을 모두 보내주는 방법은 뭐가 있나요???


구글링해도 해당 저장값을 보내는 방법은 없어서 찾고 있습니다.


0
  • 답변 3

  • 컴포지트
    1k
    2020-09-03 11:58:42

    body 부분이 뭔가 이상한데요... 실제로 저렇게 구현된 거 맞나요?


  • 밋꾸
    432
    2020-09-03 12:34:46

    sessionStorage 객체가 온전한지 확인하시고..


    추가로 fetch 공식문서에 body는 content-type 에 명시한 타입과 일치시키라고 되어있네요 확인 해보세여

  • 카심
    81
    2020-09-03 15:10:58

    컴포지트, 밋꾸// 해당 부분 작동이 안되서 그냥 

    const comp  = sessionStorage.getItem("comp");
        const start_date = sessionStorage.getItem("start_date");
        const end_date = sessionStorage.getItem("end_date");
        const selected = sessionStorage.getItem("selected").split(",");
        const access_token = sessionStorage.getItem("access_token");
        const PERCO = sessionStorage.PERCO;
        const PERNO = sessionStorage.PERNO;
        const email = check.email;
        const format = check.format;
        const query_name = check.query_name;
        fetch(CRSP_SUBMIT,{
          method: "POST",
          headers: {
            'Content-Type': 'application/json',
          },
          body: JSON.stringify({
            comp, start_date, end_date, selected, PERCO, PERNO, email, format, query_name, access_token
          })

    로 빼서 진행했습니다.


  • 로그인을 하시면 답변 을 등록할 수 있습니다.