首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在extjs 3.4中处理用于ajax调用的windows auth握手(401)?

在extjs 3.4中处理用于ajax调用的Windows身份验证握手(401),可以通过以下步骤实现:

  1. 首先,确保你的应用程序已经启用了Windows身份验证。这可以通过在服务器端的配置文件中进行设置来实现。
  2. 在前端代码中,使用Ext.Ajax.request()方法进行Ajax调用。在该方法的参数中,设置url、method和headers等属性。
  3. 在headers属性中,添加一个名为"Authorization"的header,并将其值设置为"Negotiate"。
  4. 当服务器返回401状态码时,表示需要进行Windows身份验证握手。此时,前端代码需要捕获该状态码,并发送带有Windows身份验证信息的请求。
  5. 在捕获到401状态码后,可以使用Ext.util.Cookies类获取当前页面的cookie信息。
  6. 将获取到的cookie信息添加到headers属性中的"Authorization" header中,并重新发送请求。

以下是一个示例代码:

代码语言:txt
复制
Ext.Ajax.request({
    url: 'your_url',
    method: 'GET',
    headers: {
        'Authorization': 'Negotiate'
    },
    success: function(response) {
        // 请求成功处理逻辑
    },
    failure: function(response) {
        if (response.status === 401) {
            // 捕获到401状态码,进行Windows身份验证握手
            var cookies = Ext.util.Cookies.get(document.location.hostname);
            Ext.Ajax.request({
                url: 'your_url',
                method: 'GET',
                headers: {
                    'Authorization': 'Negotiate ' + cookies
                },
                success: function(response) {
                    // 请求成功处理逻辑
                },
                failure: function(response) {
                    // 请求失败处理逻辑
                }
            });
        }
    }
});

请注意,以上代码仅为示例,实际情况可能会有所不同。此外,由于extjs 3.4已经过时,建议考虑升级到较新版本的extjs框架。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券