我正在尝试从tml页面进行ajax调用。想法是调用servlet来返回一个字符串。 javascript函数是:
function getComment(paramId){
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
alert('El server responde' + xmlhttp.responseText);
}
}
xmlhttp.open("GET","/myapp/combo/?personId=paramId",true);
xmlhttp.send();
}
url“/ myapp / combo /”映射到web.xml:
<servlet>
<servlet-name>ComboServlet</servlet-name>
<servlet-class>xxx.xxx.ComboServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ComboServlet</servlet-name>
<url-pattern>/combo/*</url-pattern>
</servlet-mapping>
问题是,似乎url是错误的,因为servlet不拦截“GET”。 有谁知道我做错了什么,或者还有其他方法吗?
感谢!!!
答案 0 :(得分:0)
正在发生的事情是tapestry处理你的ajax请求,这就是你的servlet“不拦截GET”的原因。
您需要在tapestry的应用程序模块(webapp的主要挂毯服务)中执行以下操作
public static void contributeIgnoredPathsFilter(Configuration<String> configuration)
{
configuration.add("/combo/.*");
}
这应该有所帮助。