2017-05-18 6 views
0

Ich habe einen Ajax-Aufruf an eine WebApi-Methode. Mein Anruf ist wie folgt aussieht:Ajax-Aufruf an WebAPI geht an Fehler statt an Erfolg

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"); 
      }, 
     }); 
    } 

Und das ist mein WebAPI Methode, die Ajax getroffen erfolgreich aufrufen, wenn ich die Haltepunkte setzen und auch der Rückgabewert hat einen Wert als Objekt.

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

    ..... 

    return AmSchedule; 
     } 

Das Problem ist, dass, obwohl der Anruf Ajax traf die Methode, aber die Erfolgsmethode wird nicht ausgeführt, und das Fehleralarm wird auf dem Bildschirm erscheinen, auch ich weiß nicht, wie Rückgabewert zu erfassen, die komplex ist Objekt.

+1

Ihre Fehlerfunktion als Fehler schreiben: function (jqXHR, textStatus, errorThrown) und Blick auf jqXHR.status einem nd jqXHR.responseText, um zu sehen, was genau mit Ihrem API-Aufruf passiert. – Hakunamatata

+0

Sie Ajax erwarten JSON als Antwort bestätigen Sie sind zurück JSON – Omi

+0

@OMI die Methode ist Objekt als Dictionary nik

Antwort

0

datatype: 'json',

Its mean return type of data from server should be json

stellen Sie sicher sind Sie Json Objekt Ajax Erfolg Anruf Rückkehr zurück - wenn nicht, dann müssen Sie es Datentyp ändern: 'text',

Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are removed as of jQuery 3.0. You can use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead More detial please visit - Visit

ich hoffe, dass dies für Sie funktioniert - Sie noch Fehler auftreten Kommentar bitte unter

+0

Ich bekomme den gleichen Fehler. – nik

+0

Lassen Sie mich wissen, haben Sie den Rückgabetyp geändert? –

Verwandte Themen