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

我想添加两个数字并计算两个不同 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


慕森王
浏览 165回答 3
3回答

弑天下

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

慕妹3146593

在 ajax 调用上方使用let声明 totalAmountAccrued 和 amountWrittenOff 。比如让 totalAmountAccrued;const totalAmountAccrued从和中删除 const&nbsp;const amountWrittenOff。

侃侃无极

解决所有承诺时使用Promise.allwhich triggersthenfunction makeFetch(url, data) {&nbsp; &nbsp; return $.ajax({url: url, data: data})}Promise.all([&nbsp; &nbsp; makeFetch('@Url.Action("MonthlyReport")', {id: id}),&nbsp; &nbsp; makeFetch('@Url.Action("GetAllLoan")', {id: id})]).then(([monthlyReport, allLoan]) => {&nbsp; &nbsp; const totalAmountAccrued = monthlyReport.reduce((sum, data) => sum + data.interestAmountPerMonth, 0)&nbsp; &nbsp; const amountWrittenOff = allLoan.amountWrittenOff&nbsp; &nbsp; const overallTotal = totalAmountAccrued + amountWrittenOff})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript