Ich versuche derzeit, eine einfache eckige js-Anwendung zu entwickeln. Ich versuche, Daten vom Client auf Web-API zu posten. Allerdings bekomme ich 404 Fehler, wenn ich Post Anfrage von eckigen App feuern.
Unten ist meine Post-Anforderung,
$http.post('/api/LoadApi/', jsonData).then(function (result) {
console.log(result.data);
})
.catch(function (error) {
});
wo jsonData ein gültiges JSON-Daten sind.
Mein Web-api-Code ist dies,
public class LoadApiController : ApiController
{
[HttpPost]
public HttpResponseMessage LoadData(object dataToLoad)
{
var response = Request.CreateResponse(HttpStatusCode.Created);
return response;
}
}
Meine Web-api Route Config das ist,
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{dataToLoad}"
);
Allerdings, wenn ich den Code ausführen, es wirft einen Fehler
Serverfehler in '/' Anwendung. Die Ressource kann nicht gefunden werden. Beschreibung: HTTP 404. Die Ressource, nach der Sie suchen (oder eine ihrer Abhängigkeiten), wurde möglicherweise entfernt, der Name wurde geändert oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die folgende URL und vergewissern Sie sich, dass sie richtig geschrieben ist. Angeforderte URL:/api/LoadApi/
Kann jemand zeigen, was das Problem mit dem obigen Code ist?
Es sagt, es gibt ein Problem mit der URL. Die generierte URL ist http://localhost:14154/api/LoadApi/, die korrekt aussieht.
Ihre Routenvorlage konnte nicht funktionieren, weil sie nicht definiert, welche Aktion auf dem Controller übereinstimmen soll. – Claies
Außerdem verwenden Sie nicht 'POST', um Daten über die URL-Zeichenfolge zu senden. – Claies