2016-08-11 2 views
0

Ich versuche, eine AJAX-Anfrage von mir neu zu schreiben, damit ich die Antworten debuggen kann, also habe ich Code aus den Antworten in einzelne Funktionen verschoben. In meinem ursprünglichen Code war es mir möglich, das Ergebnis vom AJAX-Aufruf zurückzugeben und es in der Erfolgsantwort auszugeben.Undefinierter Parameter in AJAX

Da dieser Code in eine separate Funktion verschoben wird und dann versucht wird, diese Funktion in der Erfolgsantwort aufzurufen, erhalte ich den Fehler 'Ergebnis ist nicht definiert'. Ich bin nicht vertraut genug mit JavaScript, um zu wissen, warum dies passiert, bitte helfen Sie.

$.ajax({ 
    type: 'GET', 
    url: '/api/auth/api/Homepage/GetLinks', 
    success:displayLinks(result, jqStatus, error), 
    error: showPolicyLinkError(result, jqStatus, error) 
}); 

function displayLinks(result, jqStatus, error){ 
    $('#numbercontrol').html(result); 
    console.log("Success Log - Satus:" + jqStatus + " Error:" + error); 
} 

function showLinkError(result, jqStatus, error){ 
    $('#numbercontrol').html("<p>Unable to return any links.</p>"); 
    console.log("Failure Log - Result: " + result + "Satus:" + jqStatus + " Error:" + error); 
} 

Antwort

3

Sie sollten nur Funktionsnamen ohne Argumente übergeben:

$.ajax({ 
    type: 'GET', 
    url: '/api/auth/api/Homepage/GetLinks', 
    success: displayLinks, 
    error: showLinkError 
});