Как получить строку URL, объединяя две строки в JavaScript - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь отправить запрос, используя axios , и он хорошо работает, когда я жестко кодирую URL, например:

const logIn = (email, password) => {
  axios.post("http://127.0.0.1:8000/api/token_auth/", {
    username: email,
    password: password
  })
  .then(function (Response) {
    console.log('Login succesfull');
  })
  .catch(function (Error) {
    console.log('Login failed.');
  });
}

Проблема заключается в том, что я пытаюсь объединить двастроки, чтобы получить тот же URL, например:

import apiServer from 'controllers/settings';

const logIn = (email, password) => {
  axios.post(apiServer+"token_auth/", {
    username: email,
    password: password
  })
  .then(function (Response) {
    console.log('Login succesfull');
  })
  .catch(function (Error) {
    console.log('Login failed.');
  });
}

В этом более позднем случае я вижу, что конкатенация не работает напрямую, и поэтому я не получаю строку URL, которую я ищу:

enter image description here

Есть ли другой способ в javascript для объединения двух строк, чтобы я мог использовать полученную строку в качестве URL?

РЕДАКТИРОВАТЬ

Значение apiServer определено в другом файле settings.js:

const apiServer = "http://127.0.0.1:8000/api/"; 

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Вы должны export свою константу в файле settings.js:

export const apiServer = "http://127.0.0.1:8000/api/";
0 голосов
/ 10 октября 2019

По какой-то причине apiServer является объектом.

Просто убедитесь, что это строка, и позже вы можете выполнить конкатенацию или интерполяцию строки следующим образом:

const apiServer = "http://127.0.0.1:8000/api/"

const url = `${apiServer}token_auth`

console.log(url)

Если вы предпочитаете делать это с сцеплением :

const apiServer = "http://127.0.0.1:8000/api/"

const url = apiServer + "token_auth"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...