So haben mit einem einfachen WebAPI Controller-I zu nennen ...Der Versuch, Javascript zu verwenden, um meine MVC WebAPI
[HttpGet]
public string Demo()
{
System.Diagnostics.Debug.Print("API Demo call hit " + DateTime.Now.ToString());
return "Got Here";
}
Aufgrund der Debug-Ausgabe, kann ich sagen, dass es tatsächlich von meinem Javascript genannt zu werden. So weiß ich, dass mein Skript zumindest verbindet. Ich weiß auch, wenn ich eine Pause auf der Linie mache .. das Skript (HTML-Seite) pausiert und wartet, bis ich den Code fortfahren lasse. Also reden sie, aber ich habe 2 Probleme ...
1) Jedes Mal, wenn ich einen Sendeanruf mache, bekomme ich den Skriptfehler "NetworkError: Fehler beim Ausführen 'send' auf 'XMLHttpRequest': Fehler beim Laden ' http://localhost:64769/api/demo '"... obwohl ich weiß, dass es damit spricht. Aber ich habe bemerkt, dass, wenn ich NICHT nach Fehlern abtastet, das Skript in der Zeile "Senden" fehlschlägt und nicht fortfährt.
2) Allerdings, mit der Fehler-Trap, das Skript wird fortgesetzt (wie erwartet), aber die XMLHttpRequest hat meine Rückkehr nicht. (z. B. responseText ist leer) .. so ziemlich jede einzelne Eigenschaft des Objekts ist leer oder null.
Also ich denke, meine Antwort ist leer, weil es ein Problem mit dem "Senden" gibt. Aber weil es tatsächlich meinen Controller aufruft und darauf wartet, dass er läuft, bin ich verloren, was das Problem ist?
Hier ist mein Skript ...
function CallWebAPI()
{
var displayResults = document.getElementById('responseDetails');
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://localhost:64769/api/demo", false);
try
{
xmlhttp.send();
}
catch(err)
{
displayResults.innerHTML += err + "<br />";
}
displayResults.innerHTML += "The Results...<br />";
for (var key in xmlhttp)
{
displayResults.innerHTML += key + "---" + xmlhttp[key] + "<br />";
}
}
FYI .. Ich Fiddler nur verwenden meinen Aufruf an meine API zu beobachten. Laut Fiddler, den ich kaum zu benutzen weiß, sehe ich den Aufruf im Inspector und er zeigt meinen Rückgabewert im unteren Bereich (der obere Bereich zeigt den Client-Header, der untere Bereich zeigt die Rückgabe, die ich nehme). Es hört sich also immer mehr an, als würde mein Service funktionieren, aber mit der JavaScript-Seite stimmt etwas nicht? –