私はAngularJSに問題があります。私は、Spring-SecurityでJava Spring REST Webアプリケーションを保護する作業を行っています。 Imはロギングページに詰まっています - http postはAJAXを使って完全に動作しますが、AngularJSを使っている間はうまくいきません。AJAXのHttp POSTリクエストは完全に機能しますが、AngularJSでは動作しません
jQuery(document).ready(function ($) {
$('#login-form').submit(function (event) {
event.preventDefault();
var data = 'username=' + $('#username').val() + '&password=' + $('#password').val();
console.log(data);
$.ajax({
data: data,
timeout: 1000,
type: 'POST',
url: 'http://localhost:8080/OnlineGameStore/login'
}).done(function(data, textStatus, jqXHR) {
console.log("Done!")
}).fail(function(jqXHR, textStatus, errorThrown) {
alert('Booh! Wrong credentials, try again!');
});
});
});
このAJAXコードは完全に動作し、資格情報はサーバーに正しく送信されます。しかし:
angular.module('login').controller('LoginCtrl', function($scope, $http, $location, AuthUser){
$scope.login = function(){
AuthUser.authenticateUser($scope.username, $scope.password, $location).then(function(response){
console.log(response);
});
};
});
angular.module('login').service('AuthUser', function($http, $location){
this.authenticateUser = function(username, password, $location){
var absUrl = $location.absUrl();
console.log(absUrl);
var data = {
username: username,
password: password
};
var config = {
headers : {
'Content-type': 'application/json'
}
return $http.post(absUrl, data, config)
.then(
function(response){
return "Successfully logged!";
},
function(response){
window.alert("Failure!");
});
};
});
このdoesntの仕事 - データイマイチでも適切に私が見るすべてはヌルです(と私は401のすべての時間を取得する)代わりに提供されたユーザ名とパスワードを、サーバーに送信します。 URLは同じです。誰かが私を助けることができますこれを解決する?
私はまた、 'データ'オブジェクトの代わりに裸の文字列を送信しようとしましたが、それも動作していないようです。
ご協力いただきありがとうございますが、悲しいことに多くの変更はありませんでした。まだ情報はバックエンドに渡されません。私はJava Springを使用しています。気にしない、実際に働いた!あなたのanwser +生の文字列としてのオブジェクトの送信が助けになりました。ありがとうございました! – Stompy