首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用ETag发送$resource

用ETag发送$resource
EN

Stack Overflow用户
提问于 2014-07-28 03:11:22
回答 1查看 2.5K关注 0票数 5

使用角JS的$resource服务,是否有方法为资源的第2、3等轮询指定If- to匹配和ETag报头?

代码语言:javascript
运行
复制
    var SummarySearch = $resource(<<apiurl>>,
        { },
        {
            get: {
                method: 'GET',
                headers: {
                    'x-header': 'id'
                }
            }
        });

我已经将它用于设置常量头(在本例中,它只是x-header: id ),但我需要根据我上次看到的ETag,每个请求都有不同的内容。

更新:

transformRequest看起来很有希望,但我无法访问我发起请求的数据,也无法访问该数据的最终地址。据我所知,我只能访问身体,我将是POSTing (在我的情况下没有定义,因为我正在做GET)和headersGetter函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 21:23:58

我发现$resource自己处理ETags。

当我发布这个问题时,我还没有实现服务器端的功能。我设置了If-无匹配处理服务器端,认为我只需要在客户机上使用$http服务,但是使用我现有的$resource .get调用进行了尝试,并且在我对资源的第一次轮询之后,它自动处理设置If-无匹配标头。

我正在重用$resource在安装过程中返回的1实例。

编辑

我有真正的jQuery而不是jqLite。如果-没有匹配的话,似乎就是在那里。

代码语言:javascript
运行
复制
    // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
    if ( s.ifModified ) {
        ifModifiedKey = ifModifiedKey || s.url;
        if ( jQuery.lastModified[ ifModifiedKey ] ) {
            jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
        }
        if ( jQuery.etag[ ifModifiedKey ] ) {
            jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
        }
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24987957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档