fetch действует по-разному в разных местах - PullRequest
0 голосов
/ 27 мая 2020

Я делаю React + Django интегрированный веб-сайт. Вот соответствующий фрагмент моего App.js в одной папке и то, что он выводит -

  componentDidMount(){
      fetch("/login/api/login_page")
      .then(response => {
          if (response.status > 400){
            return this.setState(()=>
                {return {placeholder:"Something went wrong!"};
        });
      }
      return response.json();
    })
    .then(data=>{
        this.setState(()=> {
            return{
                data,
                loaded: true
            };
        });
    });
  }
//The rest has been omitted for brevity

Ссылка самой этой страницы - http://127.0.0.1:8000/loginresults/list/, и она обращается к http://127.0.0.1:8000/login/api/login_page. Однако, когда я использую почти идентичный код в другом. js файле в другом месте, это вызывает странную ошибку.

componentDidMount() {
    fetch('/timetracker/api/TimeTracker/allObjects')
      .then(response => {
        if (response.status > 400) {
          return this.setState(() => {
            return { placeholder: "Something went wrong!" };
          });
        }
        return response.json();
      })

Это вызывается в http://127.0.0.1: 8000 / ttgui / op / и когда он пытается получить к нему доступ, он продолжает поиск URL - http://127.0.0.1: 8000 / ttgui / op / timetracker / api / TimeTracker / allObjects / , тогда как он должен идти по http://127.0.0.1 : 8000 / timetracker / api / TimeTracker / allObjects / , как показано выше. Кто-нибудь знает, почему в этих двух разных случаях использования он действует по-разному?

...