小编Ole*_*sov的帖子

XMLHttpRequest在任何低于10的IE版本上使用AngularJS拒绝访问

在10以上版本的任何Microsoft IE浏览器上查看我的应用程序时,我在控制台上收到以下奇怪的错误:

从开发人员控制台拍摄的控制台屏幕,由于此错误,视图无法解析

我已尝试在AngularJS lib之前添加以下JavaScript代码来取消控制台:

console.log = function(){};
window.console = {log: function(){}};
Run Code Online (Sandbox Code Playgroud)

它没有任何区别.IE 10中的相同错误显示为:

SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
Run Code Online (Sandbox Code Playgroud)

可能是我试图从API获取'/ me'以检查用户是否经过身份验证或访客.

基本上.每次服务器提供2XX或3XX以外的响应时,消除那些恼人的控制台错误都会很棒!

更新:这似乎与通过不同的子域(CORS)访问API有关;

internet-explorer cors angularjs

46
推荐指数
1
解决办法
6万
查看次数

什么是"更便宜"的表现明智的广播或$ watch

我的应用程序中有一种情况,每次用户角色发生变化时我都需要重新加载菜单(一个用户可以在多家公司中担任角色).

我想知道解决这个问题的最佳方法是什么.

目前我正在做以下事情:

app.controller('menuLoadingCtrl', function($location, $scope, authService){
    $scope.model.initialRole = authService.getRole();
    $scope.$watch(function(){return authService.getRole()}, function(val){
        if(val && val != $scope.model.initialRole){
                $scope.layout.menuSrc = 'partials/menu.html';
        }
    });
})
Run Code Online (Sandbox Code Playgroud)

简单地将用户重定向到菜单加载视图,并从那里,一旦角色完成加载,返回到菜单视图.我把它包裹在一个函数中:

 $scope.layout.reloadMenu = function(){
        $scope.layout.menuSrc = 'partials/menuLoading.html';
    }
Run Code Online (Sandbox Code Playgroud)

我想在任何我想重新加载菜单的场景中调用它.

我想知道我是否可以通过从$ rootScope上的服务广播此事件,然后在控制器中监听它来使这个过程更加自动化.

任何想法\建议将非常感谢.

angularjs

42
推荐指数
1
解决办法
2万
查看次数

根据用户的角色在单个视图中显示不同的内容

让我们假设我的角度SPA应用程序中有一个菜单,现在我希望向所有用户显示基本选项,例如家庭,关于我们,运营商机会等.

我还想提供其他几个选项,例如管理用户,管理员帖子等,这些选项只会显示给管理员.

我们还假设我们有一个API访问点,它为我提供了用户角色,或者更好的是,用户角色位于从/ api/users/me检索的对象中.

将这些管理工具封装为普通用户查看的最佳方法是什么?

视图中是否存在某种继承?像在Django?中,有没有办法隐藏未经授权的用户的DOM元素?(是的,我知道它是客户端).

我真的不想对菜单使用不同的视图,因为它应该是一个通用的组件.

我想,如果我之前所有问题的答案都是否定的,那么剩下的问题是:对此最好的实施是什么?自定义指令("E"+"A")说:

<limitedAccss admin>Edit page</limitedAccess>
 <limitedAccss user>view page</limitedAccess>
Run Code Online (Sandbox Code Playgroud)

或者只是使用带有用户对象条件的常规ng-show?

angularjs angularjs-directive

29
推荐指数
1
解决办法
3万
查看次数

是否需要csrf令牌和验证码?

有人可以证实这一点:我是否需要在提交表单中提供CSRF令牌和Captcha,或者两者或多或少地提供相同的功能(一个可以用来代替另一个)?

language-agnostic forms security

24
推荐指数
1
解决办法
4427
查看次数

gulp ngmin + uglify无法正常工作

我有以下gulp任务:

gulp.task('scripts', function() {
return gulp.src(['app/js/app.js', 'app/config/config.js', 'app/js/controllers.js', 'app/js/directives.js' , 'app/js/filters.js',  'app/js/footer.js',
                 'app/js/guideTour.js', 'app/js/mobileBanner.js', 'app/js/services.js', 'app/js/youtube.js', 'app/js/dataSync.js', 'app/js/addthis.js'])
//.pipe(jshint('.jshintrc'))
.pipe(jshint.reporter('default'))
.pipe(concat('main.js'))
.pipe(ngmin())
.pipe(gulp.dest('app/dist/js'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest('app/dist/js'))
.pipe(livereload(server))
.pipe(notify({ message: 'Scripts task complete' }));
});
Run Code Online (Sandbox Code Playgroud)

问题是连接文件也是ngmin()的输出,工作正常,但在解密代码后,某些东西中断,我得到以下错误.

没有具体的指标从哪里开始调试.

堆栈跟踪:

Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?p0=eProvider%20%3C-%20e
at Error (native)
at http://localhost:8000/angular/angular.min.js:6:449
at http://localhost:8000/angular/angular.min.js:32:125
at Object.c [as get] (http://localhost:8000/angular/angular.min.js:30:200)
at http://localhost:8000/angular/angular.min.js:32:193
at c (http://localhost:8000/angular/angular.min.js:30:200)
at Object.d [as invoke] (http://localhost:8000/angular/angular.min.js:30:417)
at http://localhost:8000/angular/angular-route.min.js:10:302
at Object.q [as forEach] (http://localhost:8000/angular/angular.min.js:7:380)
at http://localhost:8000/angular/angular-route.min.js:10:248 
Run Code Online (Sandbox Code Playgroud)

uglifyjs angularjs gulp ngmin

23
推荐指数
2
解决办法
1万
查看次数

由于安全原因,pcntl无法在Ubuntu上工作

我已经安装在我的PHP 5.4.6在Ubuntu 32位12.10跑了pcntl,使用文章.

它完全没有顺利,因为在编译之后,make test我遇到了以下错误.每当我试图分叉子进程时,我都会收到警告:

警告:出于安全原因,已在第8行的/var/www/mydev/dev/mailServiceTest.php中禁用了pcntl_fork()

我在网上搜索了一个解决方案,但遗憾的是我没有在其他地方找到任何提及这个问题.

    Build complete.
Don't forget to run 'make test'.
PHP Warning:  Module 'pcntl' already loaded in Unknown on line 0
PHP Warning:  Module 'pcntl' already loaded in Unknown on line 0

=====================================================================
PHP         : /usr/bin/php 
Warning: Module 'pcntl' already loaded in Unknown on line 0

PHP_SAPI    : cli
PHP_VERSION : 5.4.6-1ubuntu1.2
ZEND_VERSION: 2.4.0
PHP_OS      : Linux - Linux oleg-Lenovo-G580 3.5.0-26-generic #42-Ubuntu SMP Fri Mar 8 23:20:06 UTC 2013 i686
INI …
Run Code Online (Sandbox Code Playgroud)

php ubuntu pcntl

21
推荐指数
1
解决办法
2万
查看次数

在字典(对象)中使用ng-options迭代

我需要使用ng-options迭代以下对象:

var a = {
'optionName1': 'optionValue1',
'optionName2': 'optionValue2',
'optionName3': 'optionValue3',
'optionName4': 'optionValue4',
};
Run Code Online (Sandbox Code Playgroud)

我从第三方资源获得此格式的此对象,我宁愿不手动重新安排它.

我已经进行了谷歌搜索,并查看了文档,它只处理我可以告诉的对象列表和对象列表.

angularjs ng-options

19
推荐指数
1
解决办法
9951
查看次数

使用$ parsers(和$ formatters)对指令进行单元测试

我有以下指令:

!(function (window, angular) {
    'use strict';

    /**
     * @ngdoc directive
     * @name app.directive:social
     * @description
     * # social
     */
    angular.module('app')
        .directive('social', function(social_network_conf) {
            return {
                restrict: 'A',
                scope: {
                    social: "@"
                },
                require: 'ngModel',
                controller: function($scope, $element){
                    //for tests only
                    $scope.render = function(){
                        //how to I get the ngModel here
                        ngModel.$render();
                    };

                    $scope.setViewValue = function(val){
                        ngModel.$setViewValue(val);
                    };
                },
                link: function(scope, element, attr, ngModel) {

                    ngModel.$formatters.push(function(value) {// from model to view
                        value = value.trim();
                        if(value){
                            if (value.indexOf(social_network_conf.matcher) === 0){
                                var …
Run Code Online (Sandbox Code Playgroud)

jasmine angularjs angularjs-directive karma-jasmine

15
推荐指数
1
解决办法
5567
查看次数

使用Angular-translate进行参数格式化

最近我遇到了这个库,我看起来非常有前途,我知道它被广泛使用并支持各种简洁的功能,如语言JSON上的异步加载,使用本地存储等.

但有一点非常简单,就是字符串格式化\传递参数到翻译过滤器,似乎不受支持:例如:'你已经成功地使用%S'

某个参数过滤器,例如:

$translateProvider.translations('en', {
AUTH_SUCCESS : '%s, You have successfully singed in with %s'
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<span>{{AUTH_MESSAGE | translate : [$scope.name, $scope.network]}}<span>
Run Code Online (Sandbox Code Playgroud)

在这个图书馆里有什么能够达到这种目的吗?

javascript translate angularjs

13
推荐指数
1
解决办法
2万
查看次数

调试staging docker使用pycharm组合服务器

我有以下docker-compose.yml文件:

version: '2'
services:
    postgis:
        image: mdillon/postgis
        environment:
           POSTGRES_USER: ${POSTGIS_ENV_POSTGRES_USER}
           POSTGRES_PASSWORD: ${POSTGIS_ENV_POSTGRES_PASSWORD}
           POSTGRES_DB: ${POSTGIS_ENV_POSTGRES_DB}
        volumes:
            - /nexchange/database:/var/lib/postgresql/data
        restart: always
    app:
        image: onitsoft/nexchange:${DOCKER_IMAGE_TAG}
        volumes:
            - /nexchange/mediafiles:/usr/share/nginx/html/media
            - /nexchange/staticfiles:/usr/share/nginx/html/static
        links:
            - postgis
        restart: always
    web:
        image: onitsoft/nginx
        volumes:
            - /nexchange/etc/letsencrypt:/etc/letsencrypt
            - /nexchange/etc/nginx/ssl:/etc/nginx/ssl
            - /nexchange/etc/nginx/nginx.conf:/etc/nginx/nginx.conf
            - /nexchange/mediafiles:/usr/share/nginx/html/media
            - /nexchange/staticfiles:/usr/share/nginx/html/static
        ports:
            - "80:80"
            - "443:443"            
        links:
            - app
        restart: always
Run Code Online (Sandbox Code Playgroud)

出于某种原因,在本地容器上工作的某些功能在暂存时不起作用.我想remote interpreter在pycharm中配置一个暂存,但似乎目前不支持此设置.

我正在使用wercker+ docker compose,我的IDE是pycharm.

编辑:问题是:如何设置Pycharm调试器在运行docker compose的远程主机上运行

docker wercker docker-compose

11
推荐指数
1
解决办法
735
查看次数