簡體   English   中英

JavaScript屬性未定義。 什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM