Ich bin neu in der AngularJS. Ich benutze AngularJS Version 1.3.15. Wenn ich versuche, eine API mit der PUT-Methode aufzurufen, wird eine OPTIONS-Anfrage generiert. Ich weiß nicht, wo ich Fehler mache. Ich habe so viele Methoden ausprobiert, die in Stockoverflow vorgeschlagen werden, aber ich bekomme immer noch nichts. Bitte helfen Sie mir, dieses Problem zu lösen. Im Folgenden finden Sie meine Screenshots zu Controller, Modellen, HTML-Dateien und Chrome Developer Tool Netzwerkaktivität.
Controllerdatei users.js
'use strict';
mmlApp_users.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/users/update/:userId', {
templateUrl: 'views/users/update.html',
controller: 'update',
resolve: {
user: function(users, $route){
var userId = $route.current.params.userId
return users.getUser(userId);
}
}
})
.otherwise({
redirectTo: '/users/index'
});
}]);
Modell-Datei - users.js
'use strict';
mmlApp_users.factory('users', ['$http', '$location', '$route', function($http, $location, $route){
var obj = {};
obj.getUser = function(userId){
return $http.get(serviceBase + 'users/view/'+userId);
};
obj.updateUser = function(user){
var config = {
headers: {
'Content-Type': 'application/json'
}
};
var userParams = {
first_name: user.first_name,
last_name: user.last_name,
email: user.email,
password: user.password,
address: user.address,
state: user.state,
city: user.city,
zip_code: user.zip_code
};
$http.put(serviceBase + 'users/update/'+user.id+'?access-token=8e0bb9b3-b35f-4d30-943d-6028c0b85c13', userParams, config)
.then(successHandler).catch(errorHandler);
function successHandler(){
$location.path('/users/index');
}
function errorHandler(){
alert('Oops! Somthing went wrong.');
//$location.path('/users/create');
}
};
return obj;
}]);
Views - update.html
<div>
<h1>{{title}}</h1>
<p>{{ message}}</p>
<form role="form" name="myForm">
<div class="row">
<div class= "form-group col-md-6" ng-class="{error: myForm.first_name.$invalid}">
<label> First Name: </label>
<div>
<input name="first_name" ng-model="user.first_name" type= "text" class= "form-control" placeholder="First Name" required/>
<span ng-show="myForm.first_name.$dirty && myForm.first_name.$invalid" class="help-inline">First Name Required</span>
</div>
</div>
<div class= "form-group col-md-6" ng-class="{error: myForm.last_name.$invalid}">
<label> Last Name: </label>
<div>
<input name="last_name" ng-model="user.last_name" type= "text" class= "form-control" placeholder="Last Name" required/>
<span ng-show="myForm.last_name.$dirty && myForm.last_name.$invalid" class="help-inline">Last Name Required</span>
</div>
</div>
</div>
....
....
....
<a href="#/users/index" class="btn btn-default">Cancel</a>
<button ng-click="updateUser(user);" ng-disabled="myForm.$invalid" type="submit" class="btn btn-default">Submit</button>
</form>
</div>
In Chrom Entwickler-Tool Netzwerk-Aktivität Screenshot -
Das Senden einer Anfrage CORS nur ein Teil ist. Beheben Sie den Server so, dass er ordnungsgemäß behandelt wird. –
Darf ich wissen, warum diese Frage abgelehnt wird? Wenn etwas nicht stimmt, sag mir bitte, dass ich versuche, es das nächste Mal zu korrigieren. –
Mangel an Forschung. Nichts in Ihrer Frage scheint darauf hinzuweisen, dass Sie überhaupt wissen, was CORS ist. –