Написание JavaScript для обновления текста в Bootstrap 3 Popover. Возможно, я не правильно использую Promises, но я хочу, чтобы текст появлялся во всплывающем окне при первом нажатии, а не при двойном щелчке.
Javascript вызывает локальный прокси, написанный на C #. JavaScript для настройки самого поповера выглядит так:
$(function () {
$('#session-cookie-showcase').popover({
html: true
});
$('#session-cookie-showcase').on('show.bs.popover', function () {
Promise.resolve(getSessionCookieAsString()).then(function (value) {
$('#session-cookie-showcase').data('bs.popover').config.content = value;
})
})
})
Вызов ajax выглядит так:
async function getSessionCookieAsString(callback) {
return $.ajax({
type: "GET",
url: AppName + '/api/omitted/hentSessionCookieSomTekst',
dataType: "json",
contentType: "application/json",
success: ((result) => function (result) { return result }),
error: ((XMLHttpRequest, textStatus, errorThrown) =>
handleWebserviceCallError(XMLHttpRequest, textStatus, errorThrown, false))
});
}
И, наконец, прокси C # выглядит так:
[HttpGet("hentSessionCookieSomTekst")]
public string HentSessionCookieSomTekst()
{
string userKey = _configuration.GetSection("SessionKeys:User").Value;
if (!string.IsNullOrEmpty(userKey))
{
BrugerObjekt bruger = HttpContext.Session.Get<BrugerObjekt>(userKey);
return JsonConvert.SerializeObject(bruger.ToString('n'));
}
else
{
return JsonConvert.SerializeObject("NULL");
}
}
Итак, чтобы повторить;Звонок работает. Но это работает только на втором щелчке моего элемента, а не на первом. Могу ли я каким-то образом заставить текст загружаться всякий раз, когда он считается готовым, вместо того, чтобы снова щелкнуть мышью или исправить это каким-либо другим способом?