мой вопрос: как я могу передать переменную (java-скрипт) в команду rest apllication
Эта одна из моих функций в моем контроллере.js: этот код sampel работает, но я не могу использовать мою электронную почту и пароль var. на данный момент я использую URL-адрес для входа в систему (url: 'rest/ab/einloggen/[email protected]/22'). Но как я могу использовать var email ([email protected]) и passwort (22).
app.controller('loginCtrl', function($scope, $location,$http){
$scope.submit = function(){
var email = $scope.username;
var password = $scope.password;
$http({
method : 'GET',
url : 'rest/ab/einloggen/[email protected]/22'
}).success(function(data, status, headers, config) {
console.log(data);
if(data=="true"){
$location.path('/eingeloggt');
console.log("lalala");
}
}).error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
});
Вот функция входа в систему:
@Path("/einloggen/{username}/{passwort}")
@GET
public String einloggen(@PathParam("username") String Username,@PathParam("passwort") String Passwort)
{
// Bekomme die strings
Business b = new Business();
boolean test =b.einloggen(Username, Passwort);
//Return einer JSON
String ersatzBool ="false";
if(test==true){
ersatzBool="true";
}
return ersatzBool;
}
если вы хотите передать данные в webapi, вы можете использовать "POST" вместо "GET". В приведенном ниже примере я передал данные json {id: 2} и получил ответ в виде списка продуктов. В методе api post id 2 доступен.
$http.post('http://localhost:1011/productDetails', { Id: 12 }, {
headers: {
'Content-MD5': '917200022538',
'Accept': 'application/Json',
'Content-Type': 'application/Json'
}
}).then(onUserComplete, onError);
var onUserComplete = function (response) {
$scope.Products = response.data;
};
var onError = function (reason) {
$scope.error = "Error while fetching records.";
};
Это то, что мне приходилось делать при общении с сервером (приложение CMS - Contentstack) с использованием Restful api, одна поразительная разница заключалась в том, что мне пришлось использовать authtoken.
$http({
url: siteUrl,
method: methode,
headers: {
access_token: auth_token,
api_key: site_api_key,
Accept: data_type, // --> 'application/json, text/plain, */*'
},
data: dataBody
}).then(function (resp) {
console.log('success ', resp);
callback(resp);
}, function(err){
console.log(err, "error");
});
url : 'rest/ab/einloggen/[email protected]/22'
. Заметьте что-нибудь? Я помогу вам: электронная почта и пароль уже являются частью строки. Поэтому, если вы хотите использовать переменные для электронной почты и пароля, вы можете'rest/ab/einloggen/' + email + '/' + password
URL-адрес, используя конкатенацию строк, например что-то вроде'rest/ab/einloggen/' + email + '/' + password
(обратите внимание, что это не обязательно правильный синтаксис, это просто для того, чтобы дать вам представление).