[英]JavaScript attribute is undefined. What?
我從JSP頁面中的JavaScript(AngularJS)的會話范圍中讀取了一個User對象(attrs:id,userName)。 之所以成功,是因為它出現在控制台中。 但是,當我想訪問其屬性時,瀏覽器說這些是未定義的。
JS代碼:
<script type="text/javascript">
var app = angular.module( "appUserOrders", [] );
app.controller( "ctrlUserOrders",
function ($scope, $http )
{
$scope.user = '<%= session.getAttribute("User") %>';
console.log( $scope.user );
console.log( $scope.user.id );
console.log( $scope.user.userName );
}
);
</script>
控制台內容:
User(id=1111, userName=TestUserName) userorders.html:29 undefined userorders.html:30 undefined
我如何訪問其屬性值,因為REST
調用需要使用user.id
作為@PathVariable
。 為什么不起作用? session.getAttribute( key )
還給什么?
預先感謝您的答復!
在有用的注釋之后,我在User
類中創建了一個名為toJSONString()
,並將其結果放入會話中。 它工作正常,但是我改變了主意,因為在會話范圍中沒有放置JSON字符串的位置。 因此,我從userOrders.jsp
頁面的HTTP
GET
方法controller
發送userID作為模型屬性,而我根本不使用session
。
控制器方法:
@RequestMapping( value = "/userorders", method = RequestMethod.GET )
public String userOrdersHandler_GET( Model model_ )
{
// Constant value just for test cases
model_.addAttribute( "userID", 1111 );
return "ordering/userorders";
}
JavaScript:
var userID = '${userID}';
$scope.orders = [];
$http( get( "/appname/users/" + userID + "/orders.json" ) ).then( function ( response ) { $scope.orders = respond.data; }, function ( respond ) { console.log( "..." ) } );
感謝您的答復!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.