为了账号安全,请及时绑定邮箱和手机立即绑定

从两个不同的 ajax 结果中添加两个数字变量

从两个不同的 ajax 结果中添加两个数字变量

慕森王 2022-10-13 14:32:43
我想添加两个数字并计算两个不同 ajax 调用的总数,以便我可以将总值附加到 dom $.ajax({            url: "@Url.Action("MonthlyReport")",            data: { id: id },              success: function (data) {                  var total = 0;                  for (var i = 0; i < data.length; i++) {             // Create our number formatter.                total += data[i].interestAmountPerMonth                }                  var formatter = new Intl.NumberFormat('en-US', {                      style: 'currency',                      currency: 'USD',                  });                  const totalAmountAccrued = formatter.format(total)                  $('#totalAmountAccrued').append(totalAmountAccrued)            },            error: function (req, status, error) {}          });第二个ajax如下     $.ajax({            url: "@Url.Action("GetAllLoan")",            data: { id: id },            success: function (result) {                var formatter = new Intl.NumberFormat('en-US', {                    style: 'currency',                    currency: 'USD',                });                const originalLoanAmount = formatter.format(result.originalLoanAmount);                const amountWrittenOff = formatter.format(result.amountWrittenOff);                            },            error: function (req, status, error) {            }        });我想实现这样的事情let generalTotal = totalAmountAccrued + amountWrittenOff
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

您可以使用 $.when 组合多个请求 https://api.jquery.com/jquery.when/


查看完整回答
反对 回复 2022-10-13
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

在 ajax 调用上方使用let声明 totalAmountAccrued 和 amountWrittenOff 。

比如让 totalAmountAccrued;

const totalAmountAccrued从和中删除 const const amountWrittenOff


查看完整回答
反对 回复 2022-10-13
?
侃侃无极

TA贡献2051条经验 获得超10个赞

解决所有承诺时使用Promise.allwhich triggersthen


function makeFetch(url, data) {

    return $.ajax({url: url, data: data})

}


Promise.all([

    makeFetch('@Url.Action("MonthlyReport")', {id: id}),

    makeFetch('@Url.Action("GetAllLoan")', {id: id})

])

.then(([monthlyReport, allLoan]) => {

    const totalAmountAccrued = monthlyReport.reduce((sum, data) => sum + data.interestAmountPerMonth, 0)

    const amountWrittenOff = allLoan.amountWrittenOff

    const overallTotal = totalAmountAccrued + amountWrittenOff

})


查看完整回答
反对 回复 2022-10-13
  • 3 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信