到目前为止,这是我遇到的奇怪问题。我正在使用 jaxon 主干来完成这个 Angularjs 项目。
java资源文件
@GET @Path("{query}") @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) public Signature findByName(@PathParam("query") String query) { return dao.findById(query); }
control.js 文件
function SearchCtrl($rootScope,$scope,Signature) { // console.log('SearchCtrl is invoked!!!!!!'); $scope.signature; $scope.searcherrormsg=''; $scope.searchaction = function(barcodenum,signature) { signature = Signature.query({rewardcardId:barcodenum}); $scope.signature = signature; alert("data is " + $scope.signature.name); <=== This is UNDEFINED }; }
应用程序.js 文件
angular.module('demo', ['demo.filters', 'demo.directives','demo.services.signature']). config(['$routeProvider', function($routeProvider) { $routeProvider.when('/search', {templateUrl: 'partials/search.html', controller: SearchCtrl}); $routeProvider.otherwise({redirectTo: '/search'});
服务.js 文件
angular.module('demo.services.signature', ['ngResource']). factory('Signature', function($resource){ return $resource('api/signature/:rewardcardId', {}, { query: {method:'GET', params:{rewardcardId:'signature'}, isArray:false} }); });
这是调用数据库和服务器控制台显示以下消息;
com.sun.jersey.api.container.filter.LoggingFilter$Adapter finish
INFO: 1 * Server out-bound response
1 < 200
1 < Content-Type: application/json
1 <
{"name":"xxx xxxx","customerid":187,"email":"xxxx@hotmail.com","sign":null,"barcode":"xxxx"}
并在 HTML 页面上正确显示返回数据。例如,html页面有
<p>{{signature.barcode}}
{{signature.name}}
与上述数据集一样正确显示名称和条形码。
从 javascript 中获取未定义的数据只有一个问题。
每当 javascript 试图从数据库返回资源中获取数据时,它都会说undefined
.