为什么运行多个Wicket应用程序会导致AJAX冲突?

Ben*_*oit 9 ajax wicket conflict

当我在同一浏览器中打开两个Wicket Web应用程序时,似乎存在AJAX冲突,因为我看到整页刷新代替部分刷新.即使应用程序位于不同的服务器和端口号上,也是如此.

我只使用Wicket(tabbedPanel,onTimerAutoRefresh)提供的开箱即用的JavaScript .

也许它与回退功能有关.

当只有一个Web应用程序打开时,它可以正常工作.

我在示例网站上没有问题,所以我认为应用程序的配置有问题.

wicket-ajax.js,第970行:

try {
    redirectUrl = t.getResponseHeader('Ajax-Location');
} catch (ignore) { // might happen in older mozilla
}

// the redirect header was set, go to new url
if (typeof(redirectUrl) != "undefined" &&
    redirectUrl != null &&
    redirectUrl != "") {
    //redirect and do a full page refresh (window.location = redirectUrl);
}else{
    // do the normal ajax functionality
}
Run Code Online (Sandbox Code Playgroud)

当一切正常时,标题中没有Ajax-Location.当第二个Web应用程序加载到同一个浏览器中时,第一个加载的Web应用程序上的下一个AJAX请求会在其标题中获取此行:

[Ajax-Location: .]

ber*_*rdn 8

你能检查你的应用程序的根上下文是否不同?否则,您可能会在cookie级别发生冲突.它们基于主机名和路径存储.如果两个应用程序的上下文路径都是"/",那么cookie值将被覆盖.你看到的冲突是什么.