我一直坚持这个问题,我整个下午都面临这个问题,直到现在还无法解决。 我想用angular对我的后端进行REST调用,但URL中的给定参数被严重转义。 ... / backend / artikel / getSingleResultById / ?0 = 1& 1 = 0& 2 = 0& 3 = 3 < - 这是我正在谈论的部分。我不明白为什么它如此严重逃脱。它应该只是,在这种情况下,1003。
var REST_URL_ALLE_ARTIKEL = '.../backend/artikel/getAllByClass';
var REST_URL_EIN_ARTIKEL = '.../backend/artikel/getSingleResultById';
var artikelService = angular.module('artikelService', ['ngResource']);
artikelService.factory('ArtikelService', function ($resource) {
return $resource(REST_URL_ALLE_ARTIKEL, {}, {
getAlleArtikel: {method: 'GET', url: REST_URL_ALLE_ARTIKEL, isArray: true},
getGesuchtenArtikel: {method: 'GET', url: REST_URL_EIN_ARTIKEL + '\\/:artnr', params: {artnr: '@artnr'}}
});
});
这是我定义方法的服务。谁能告诉我如何以正确的方式传递参数?
angular.module('frontend')
.controller('ArtikelDetailCtrl', function ($scope, $routeParams, ArtikelService) {
$scope.testArtnr= $routeParams.artnr;
$scope.gesuchterArtikel = ArtikelService.getGesuchtenArtikel($routeParams.artnr);
});
这是我的控制器,我从服务中调用该方法。 当我打印出testArtnr时,我得到1003,就像我需要的那样。
.when('/artikel/:artnr', {
templateUrl: 'views/artikelDetails.html',
controller: 'ArtikelDetailCtrl'
})
这是app.js中的一部分。
请提前获取您的时间和帮助。
答案 0 :(得分:1)
ArtikelService.getGesuchtenArtikel()
需要传递一个artnr
属性的对象。
$scope.gesuchterArtikel = ArtikelService.getGesuchtenArtikel({
artnr: $routeParams.artnr
});
看起来它正在治疗" 1003"作为对象,每个字符作为属性,并将每个字符作为查询字符串附加到调用。