小编Edw*_*ard的帖子

如何在AngularJS中为$ resource方法添加回调

我们需要在更新/创建一些数据后向用户显示错误/成功消息,这是一种常见的情况,我们如何在AngularJS中实现它?
我想添加回调但无法找到解决方案.使用$ http.post().success().error()有效,但我想知道我是否可以使用更高的杠杆API $资源.
或者,我们应该写指令或使用$ watch()?
感谢您的帮助.

resources callback angularjs

30
推荐指数
2
解决办法
5万
查看次数

当角度开始破坏时,我们是否需要在指令中取消绑定事件监听器?

我的应用程序中存在大量内存泄漏但我没有找到原因,这是后台.

  • 我正在使用AngularJS + JQuery(插件)
  • 许多听众受到如下约束:

    $(element).on("keyup",function(){});

所以问题是

我是否需要通过以下方式取消绑定指令中的听众?

scope.$on("$destroy", function() {
    $(element).off();
}); 
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你如何找到Web应用程序中的内存泄漏?我使用chrome的配置文件(请参阅此处分析内存性能),但我无法跟踪内存泄漏的代码.你有什么建议吗?

非常感谢!

jquery memory-leaks event-listener angularjs

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

在Angular中一起使用Promise和服务

我的问题是基于Angular Google小组中的这个主题.
我想提供一个服务,它存储从后端通过$ http检索的一些基本数据,然后我只需要获取这些数据一次.喜欢,

var load = function() {
   return $http.get(...).then(function(data) {
       return data.user; 
   });
};

module.factory("userProvider", function() {
    var user;
    var getUser = function() {
        if(!user) {
            load().then(function(data) {
               user = data;
           });
        }
        return user;
    };
    return {
        getUser : getUser
    }
});

module.controller("UserController", ["userProvider", function UserController("userProvider") {
    var user = userProvider.getUser();
    // do something with user
}]);
Run Code Online (Sandbox Code Playgroud)

问题是promise链在userProvider中结束但在控制器中没有,因此在我第一次使用此控制器时未定义用户,因为尚未返回数据.

如何使用此类存储服务并正确返回数据?谢谢!

http angularjs

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

日语和中文的上传文件名编码问题

我目前正在使用jQuery-File-Upload.我可以上传一些带有日文或中文文件名的文件,我可以看到文件名是例如浏览器调试模式中的"お疲れ様です.txt"或"测试文档.txt",但是在后端(Java) ,它们变成了" -ãã,Œæ§~ã §ã ™.txt"和"æμ<试æ-‡æ¡£.txt".
我曾经尝试将formAcceptCharset设置为UTF-8,但它不起作用.
问题:
解析MultipartFormData时如何在Java端获取正确的文件名?

提前致谢.

BTW,以下是我的数据

-----------------------------25382434931419
Content-Disposition: form-data; name="file"; filename="�疲れ様��.txt"
Content-Type: text/plain
....
Run Code Online (Sandbox Code Playgroud)

添加Java代码
实际上我目前在Java端没有做任何事,

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String upload(InMultiPart inMP) {
    while (inMP.hasNext()) {
        InPart part = inMP.next();
        MultivaluedMap<String, String> headers = part.getHeaders();
        String fileName = null;
        if (!headers.containsKey("Content-Disposition")) {
            continue;
        } else {
            // get the file name here
            fileName = parseFileName(headers.getFirst("Content-Disposition"));
        }
        //.....
    }
    //......
}

private String parseFileName(String disposition) {
    int fileNameIndex = disposition.indexOf("filename=");
    if …
Run Code Online (Sandbox Code Playgroud)

java encoding file-upload character-encoding

8
推荐指数
1
解决办法
3069
查看次数