我有一个在Apache Tomcat上完美运行的Web应用程序。但是,当我将其部署到WebLogic 10.2.3服务器时,由于会话为空,它会获得NPE。
该应用程序是Java 5,在Win 7 Pro上运行的jQuery 1.7.1。服务器的第一个Ajax GET导致一些值存储在会话对象中。下一个Ajax GET使用这些值 - 因为空会话导致NPE。
在Firebug中,我看到正在传递不同的会话ID - 为什么?
任何人都可以帮我解决这个问题吗?
另一条信息。这是一些相关的jQuery:
$.ajaxSetup ({
cache: false,
xhrFields: {
withCredentials: true
},
crossDomain: true
});
和
$('#findSites').click(function() { // Locate HTML DOM element with ID "somebutton" and assign the following function to its "click" event...
searchVal = document.getElementById("searchFor").value;
searchTyp = document.getElementById("searchType").value;
$.get('SiteSearchServlet', {searchFor: searchVal, searchType: searchTyp}, function(responseJson) { // Execute Ajax GET request on URL of "someservlet" and execute the following function with Ajax response JSON...
...
答案 0 :(得分:0)
原来,将此添加到文档就绪函数解决了问题(即现在我使用相同的会话,除非超时):
jQuery.support.cors = true; // force cross-site scripting
希望这有助于其他人。 标记