外部iWidget导致刷新IBM Connections页面

时间:2014-04-23 01:15:00

标签: widget ibm-connections

我已经在主页和社区中向IBM Connections(4.0和4.5)添加了第三方小部件,它们会导致页面在小部件完成加载后进入重定向循环。

我尝试了许多不同的安全和窗口小部件设置,却无法删除此行为。

症状 - 当页面上加载第三方窗口小部件时,页面将进入重定向循环。 - 在主页 - 它获得302重定向到" GET /homepage/web/authredirect.action HTTP / 1.1" - 在社区中 - 它获得302重定向到" GET / communities / service / html / login HTTP / 1.1"

在这两种情况下,重定向到的页面都会发现您实际经过身份验证,并且您被重定向回原始页面。

之前有没有人经历过这样的事情并且知道如何修复它?

1 个答案:

答案 0 :(得分:1)

我已经看到当iWidget使用Dojo执行 handleAs =" json" 的请求时会发生这种情况。 相反,使用 handleAs =" text" ,然后使用dojo.fromJson(dataStr)将字符串解析为json对象。

例如,以下内容对我造成了重新加载问题:

var xhrArgs =
{
    url:'/MyServlet',
    content:{Id:this.userId},
    handleAs:"json",
    load:dojo.hitch(this,function(jsonObj){
        console.log("json",jsonObj);
    }),
    contentType: "application/x-www-form-urlencoded; charset=utf-8"
};
dojo.xhrGet(xhrArgs);

将句柄更改为' text'用dojo.fromJson()调用解决了问题:

var xhrArgs =
{       
    url:'/MyServlet',
    content:{Id:this.userId},
    handleAs:"text",
    load:dojo.hitch(this,function(data){
        var jsonObj = dojo.fromJson(data);
        console.log("json",jsonObj);
    }),
    contentType: "application/x-www-form-urlencoded; charset=utf-8"
};
dojo.xhrGet(xhrArgs);