Я бы не рекомендовал привязывать кнопку к жестко закодированному тексту. Вместо этого я рекомендую привязать кнопку пользовательского интерфейса jQuery к наблюдаемой и затем обновить ее соответствующим образом:
Первый фрагмент - это привязка, которую можно использовать для обновления кнопки пользовательского интерфейса jQuery, которую я использую. (код псевдо)
ko.bindingHandlers.buttonText =
{
init: function (element, valueAccessor)
{
ko.bindingHandlers.buttonText.update(element, valueAccessor);
},
update: function (element, valueAccessor)
{
var binding = ko.utils.unwrapObservable(valueAccessor());
$(element).button({label: binding});
}
};
Далее, вот как будет выглядеть ваша привязка. Это предполагает, что у вас есть наблюдаемая модель, называемая textObservable;
<button type="submit" data-bind="button: {buttonText: textObservable, click: site.ajaxRequest"></button>
Наконец, в вашем методе ajaxRequest перед выполнением запроса AJAX необходимо обновить textObservable до «Authenticating». В обработчике успеха вызова ajax вам нужно обновить textObservable до вашего начального значения.