对WebAPI的Ajax调用转到Error而不是成功

时间:2017-05-18 23:18:27

标签: jquery ajax asp.net-web-api

我对WebApi方法进行了Ajax调用。我的电话看起来像这样:

 function CalculateAmortizationScheduleAPI()
    {

        $.ajax({
            url: 'http://localhost:62815/v1/APR/Calculate',
            type: 'POST',
            dataType: 'json',
                data: {
                    "LoanAmount": 200000,
                    "Costs": 100,
                    "Term": 15,
                    "Rate": 2.2,
                    "RateType": 2,
                    "Points": 1,
                    "MIRate": 2.2,
                    "UFMIRate": 2,
                    "FixedTerm": 5,
                    "FirstPaymentDate": "10/10/2017",
                    "RateChangeDate": "10/10/2018",
                    "AdjustTerm": 2,
                    "IndexRate": 2,
                    "Margin": 2,
                    "AdjustmentCapFirst": 2,
                    "AdjustmentCap": 2,
                    "AdjustmentCapLifetime": 2,
                    "EstimatedPropertyValue": 2,
                    "CancelMIPMonths": 2,
                    "CancelMIPLTV": 2,
                    "AdditionalPricipalPayment": 2,
                    "ConstantPaymentValue": 2
                },
                success: function (data) {
                    alert("success");

            },
            error: function () {
                alert("Error");
            },
        });
    }

这是我的WebApi方法,当我放置断点并且返回值具有值作为对象时,Ajax调用成功命中。

     [HttpPost]
     public Dictionary<int, AmItem> Calculate([FromBody]AmArguments 
     lAmArguments)
    {

     .....

     return AmSchedule;
      }

问题是即使Ajax调用命中了方法但Success方法没有执行,错误警报也会出现在屏幕上,我也不知道如何捕获复杂对象的返回值。

1 个答案:

答案 0 :(得分:0)

dataType:&#39; json&#39;,

  

来自服务器的平均返回数据类型应为json

确保您将json对象返回到ajax成功回调 - 如果没有,则需要将其更改为 dataType:&#39; text&#39;,

  

弃用通知:从jQuery 3.0开始,jqXHR.success(),jqXHR.error()和jqXHR.complete()回调被删除。您可以使用jqXHR.done(),jqXHR.fail()和jqXHR.always()代替    更多detial请访问 - Visit

我希望这对您有用 - 但您仍然面临错误,请在下方发表评论