Сохранить данные из запроса GET как переменную - PullRequest
0 голосов
/ 26 марта 2019

У меня есть простой GET-запрос axios, который работает с Azure directline 3.0. Запрос GET возвращает данные и отображает их в консоли (как показано на рисунке). Данные, которые я хочу сохранить в переменную, - это многозначный идентификатор. Затем я хочу использовать эту переменную с Axios Post в другом файле JS для публикации в качестве части ссылки, например. let URL = "https://directline.botframework.com/v3/directline/conversations/"+convID"/activities". С convID является переменной, которую я хочу создать. Сейчас я вручную изменяю convID с помощью нового идентификатора разговора, но я хочу создать переменную, чтобы поместить ее в файл post javascript, чтобы он был автоматическим. введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Вы можете сохранить значение этой переменной в LocalStorage.Примерно так:

let routeToYourApi = '/api/conversations'; // or something like this...
axios.get(routeToYourApi).then((response) => {
    let conversationId = response.data.conversationId; // not sure if data object from your image is directly nested inside response that you get from server, but you get the idea...
    window.localStorage.setItem("convId", conversationId);
}) // here you can fetch your conversation id

Чем вы можете получить к нему доступ в любом месте вашего приложения:

let conversationId = window.localStorage.getItem("convId");

... и в конечном итоге удалить его из локального хранилища:

window.localStorage.removeItem("convId")

Надеюсь, это поможет вам!

0 голосов
/ 26 марта 2019

Существуют различные способы решения этой проблемы. Самое простое - выставить данные на общем объекте window.convID = convID, а затем обращаться к нему везде, где это необходимо. Вы также можете создать singleton объекты, которые могут быть созданы только один раз и, следовательно, будут совместно использовать свои переменные в течение всего срока службы приложения.

axios.get(/* URL */).then(res => {
  window.convID = res.data.conversationId;
});
...