2015-03-10 14 views
33

Tôi đang cố gắng sử dụng các cookie trong góc - đây là những gì tôi đang cố gắng:

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-cookies.min.js"></script> 

var capApp = angular.module('capApp', ['ngRoute','ui.bootstrap','ngCookies']); 

capApp.controller('cookieCtrl', ['$scope','$cookies', function($scope, $cookies) { 
    var favoriteCookie = $cookies.get('user_id'); 
    alert(favoriteCookie); 
}]); 

tôi nhận được lỗi này trong bảng điều khiển

TypeError: $cookies.get is not a function 

Bất kỳ ý tưởng nào tôi gặp sự cố?

CẬP NHẬT

Kiểm tra phiên bản của Angular bạn đang sử dụng cho tất cả mọi thứ - bất kỳ kẻ góc đọc này, hãy chuyển đổi phiên bản trong các tài liệu sáng màu xanh lá cây và rất lớn! Bạn chỉ đơn giản là không nhận thấy nó.

+0

vì bạn sử dụng '$ cookieStore' không phải' $ cookie', chỉnh sửa: oops xấu, không được dùng bây giờ edit2: nhưng vẫn không có 'get()' trên '$ cookie' https: //docs.angularjs .org/api/ngCookies/service/$ cookies – Ronnie

+0

Không, $ cookieStore không được dùng nữa - https://docs.angularjs.org/api/ngCookies/service/$cookieStore –

+0

damn, tôi ở khắp mọi nơi, lol. Có một get(). welp leme see ... – Ronnie

Trả lời

34

Trong góc 1.3.14 bạn chỉ có thể sử dụng

var favoriteCookie = $cookies[user_id]; 

Xem documentaiton đây: Angular Cookies

+5

Điều này không hoạt động thêm trong Angular 1.4.x. Từ wesbite góc: BREAKING THAY ĐỔI: $ cookie không còn hiển thị các thuộc tính thể hiện giá trị cookie trình duyệt hiện tại. Bây giờ bạn phải sử dụng get/put/remove/etc. phương pháp như mô tả dưới đây. (https://docs.angularjs.org/api/ngCookies/service/$cookies) – LEDfan

1

Các phương pháp sau đây nên làm việc.

var favoriteCookie = $cookies.user_id; 
10

Cú pháp bạn có cho phiên bản 1.4.x nhưng bạn đang tham chiếu phiên bản cũ hơn. Nếu bạn không muốn cập nhật để 1.4.x, bạn có thể sử dụng $ cookieStore thay vì như sau:

$cookieStore.put("key", "value"); 
var value = $cookieStore.get("key"); 

Ngoài ra nếu bạn đang sử dụng phiên bản 1.3.x hoặc thấp hơn, bạn có thể sử dụng $ cookie như sau:

$cookies.key = "value"; 
var value = $cookies.key; 
Các vấn đề liên quan