Ich bin neu zu angularJS und versuchen, herauszufinden, wie man Daten auf meinem Server, Problem ist, dass mein Beitrag zum Server erfolgreich ist und es neue Datensatz erstellen, aber alles ist leer (null)wie man Daten an den Server mit angularJS, Web API
Vielen Dank für jede Beratung
JS:
$scope.addChannel = function() {
var channels = [];
//var newChannel = {
// Name: $scope.Name
//};
//clearing error message
$scope.errorMessage = "";
$http.post("api/Channel/channels", newChannel)
.success(function (newChannel) {
//on success
$scope.channels.push({ "Name": $scope.Name });
console.log("data added");
// newChannel.push(response.data);
newChannel = {};
}, function() {
//on failure
$scope.errorMessage = "Failed to save data";
})
}
HTML:
<div ng-controller="ChannelController">
<div class="col-md-4 col-lg-4 col-sm-4">
<form novalidate name="newUser"ng-submit="addChannel()">
<div class="form-group">
<label for="name">Channel</label>
<input class="form-control" type="text" id="Name" name="Name" ng-model="newChannel.Name" />
</div>
<div class="form-group">
<input type="submit" value="Add" class="btn btn-success" />
</div>
</form>
<a ng-href="/Dashboard#/channels">Return to dashboard</a>
</div>
<div class="has-error" ng-show="errorMessage">
{{errorMessage}}
</div>
Kanal-Controller
[HttpPost("channels")]
public async System.Threading.Tasks.Task Create(Channel channel)
{
await _channelRepository.CreateChannel(channel);
}
Repository
public async System.Threading.Tasks.Task CreateChannel(Channel channel)
{
_context.Channel.Add(channel);
await _context.SaveChangesAsync();
}
Bitte senden Sie die WebAPI Methode zu –
deserialisieren Was ist 'newChannel' auf $ http.post weitergegeben? Ihre Daten befinden sich in '$ scope.newChannel.Name'. – Paqman
Überprüfen Sie die Signatur des Erfolgsrückrufs: https://docs.angularjs.org/api/ng/service/$http – fantarama