Sencha Touch 2 如何获取响应标头

Posted

技术标签:

【中文标题】Sencha Touch 2 如何获取响应标头【英文标题】:Sencha Touch 2 How to get response headers 【发布时间】:2013-06-21 01:31:27 【问题描述】:

我进行 Ajax 调用:

Ext.Ajax.request(
            url : 'http://apps.dhis2.org/demo/dhis-web-commons-security/login.action',
            callbackKey : 'callback',
            method : 'POST',
            params : 
                j_username : username,
                j_password : password
            ,
            withCredentials : true,
            useDefaultXhrHeader : false,

            success : function(response) 
                var text = response.responseText;
                Ext.Msg.alert('Success', "Success login", Ext.emptyFn);
            ,

            failure : function(response) 
                var text = response.responseText;
                Ext.Msg.alert('Error', "Failure login", Ext.emptyFn);
            
        );

有响应头:

Connection:Keep-Alive
Content-Length:0
Content-Type:text/plain
Date:Fri, 21 Jun 2013 01:23:51 GMT
Keep-Alive:timeout=5, max=100
Location:http://apps.dhis2.org/demo/
Set-Cookie:JSESSIONID=2E5D7C7235BE37150F1FE7B30EA0244D; Path=/demo/; HttpOnly
Vary:cookie

我怎样才能获得 Location 标头?

当我尝试这样做时:

Ext.Ajax.on('requestcomplete',
        function(conn, response, options, eOpts) 
            var location = options.headers['Location'];
            Ext.Msg.alert('Success', location, Ext.emptyFn);
        , this);

我有错误

无法读取未定义的属性“位置”

【问题讨论】:

【参考方案1】:

寻找解决方案:

Ext.Ajax.request(
            url : 'http://apps.dhis2.org/demo/dhis-web-commons-security/login.action',
            method : 'POST',
            params : 
                j_username : username,
                j_password : password
            ,
            withCredentials : true,
            useDefaultXhrHeader : false,

            success : function(response) 

                var Location = response.getResponseHeader('Location');
            ,

            failure : function(response) 
                Ext.Msg.alert('Error', "Failure login", Ext.emptyFn);
            
        );

【讨论】:

以上是关于Sencha Touch 2 如何获取响应标头的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Sencha-Touch2.0 的地图中获取当前位置的标记

如何在 Sencha Touch Ajax 请求中发现 302 响应

Sencha Touch 2:如何从面板获取 HTML 以及输入值

如何使用 Sencha Touch 2 获取表单面板和禁用选择字段

如何在sencha touch 2中获取当前活动的轮播项目

如何在sencha touch 2中获取地图(Ext.map)的中心坐标?