我对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方法没有执行,错误警报也会出现在屏幕上,我也不知道如何捕获复杂对象的返回值。
答案 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
我希望这对您有用 - 但您仍然面临错误,请在下方发表评论