【发布时间】:2018-01-12 06:58:15
【问题描述】:
我有两个绑定到它们自己的 observable 的输入。两者都有一个启动 ajax 调用的订阅函数。还有一些其他字段将从 ajax 结果中填写。我希望能够在输入 companyName 时获取数据。我还想在输入 cardNumber 时获取 companyName(以及更多),但是给 companyName 一个值将触发其 subscibe 函数,该函数将启动另一个 ajax 调用。我想防止这种情况发生。
cardNumber = ko.observable();
companyName = ko.observable();
cardNumber.subscribe(function () {
getDataFromCardNumber(cardNumber());
});
companyName.subscribe(function () {
getDataFromCompanyName(companyName());
});
getDataFromCardNumber = function (cardNr) {
$.ajax({
type: 'GET',
data: { number: cardNr },
url: '/Home/GetCardInfo',
success: function (data) {
companyName(data.Company.CompanyName);
//some other fields
}
});
};
//getDataFromCompanyName(name) contains another ajax call to fill out some other fields aswell
【问题讨论】:
标签: javascript jquery ajax knockout.js