На данный вопрос уже ответили:
Делаю запрос (В data
лежит ключ и все необходимое для запроса):
function sendLanguageRequest() {
let language;
$.getJSON('https://translate.yandex.net/api/v1.5/tr.json/detect', data).done(function (json) { language = json});
return language;
}
Функция возвращает undefined
.
Но если присвоение переменной мы заменим выводом результата в консоль то в консоли мы увидим результат.
function sendLanguageRequest() {
$.getJSON('https://translate.yandex.net/api/v1.5/tr.json/detect', data).done(function (json) { console.log(json)});
}
В консоли:
{code: 200, lang: "en"}
Как вывести это результат в переменную чтобы потом вывести через return
?
P.S. Я видел подобные вопросы, но так и не нашел в них нормального ответа
Решение которым я пользуюсь выглядит так, но не позволяет выводить через return
.
'use strict'
let language;
function sendLanguageRequest() {
$.getJSON('https://translate.yandex.net/api/v1.5/tr.json/detect', data, getLanguage);
function getLanguage(response) {
language = response.lang
}
}
Дело в том, что $.getJSON
... .done
выполняется позже нежели выполняется return language
и поэтому переменная пустая.
Решение: вместо переменной передать пришедший ответ в функцию setLanguage(language)
:
function sendLanguageRequest()
{
$.getJSON('https://translate.yandex.net/api/v1.5/tr.json/detect', data)
.done(function (json)
{
if(json.code == 200)
setLanguage(json.lang)
});
}
function setLanguage(language)
{
//здесь делаете присвоение языка чему вам надо
}
Советую вам изучить как работает AJAX.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть 3 поля select и 1 запрос ajax хочу из 3х селектов собрать один запрос, что бы подставить в ajax
Какую библиотеку или может встроенный модуль использоваться для построения таких сложных графиковИ возможностью потом сохранить его в pdf формате...
Вопрос: Можно ли сохранить файл в сетевую директорию используя учетную запись другого пользователя?
При выполнении запроса назад возвращает сообщение о том, что неверный тип данныхКак это можно исправить? Таблица SQL в Oracle SQL Database XE 11g release-2: