我编写了一个ajax函数,当有人从下拉列表中选择一年时,将调用该函数。在选择年份时,ajax将根据传递的URL调用servlet,该servlet将在属性文件中设置一个值。但问题是,在选择年份时,我的ajax块不会被称为
</tr>
<tr>
<td>Year</td>
<td>
<html:select property="yearId" >
<html:options collection=
"<%=GlobalValues.LIST_MODELYEAR%>"
property="id" labelProperty="value" />
</html:select>
(Required)
</td>
</tr>
<script>
$(document).ready(function()
{
$("#yearId").change(function()
{
var selectedValue = $(this).find(":selected").val();
$.ajax
({
url : "/ModelByYear.do?cID="+selectedValue+'',
});
});
});
</script>
答案 0 :(得分:0)
从您的网址中移除/
,如下所示,,
不是必需的
$.ajax({
url : "ModelByYear.do?cID="+selectedValue
});
尝试使用以下代码
$.ajax({
type: "GET",
url: "ModelByYear.do",
data: {cID:selectedValue},
success: function(result){
alert('Result: ' + result);
},
error: function(err){
alert('Error: ' + e);
}
});
WEB.xml
在处理JSP时,不要直接调用jsp页面,而是在WEB.xml中按照给定here配置
答案 1 :(得分:0)
也许你可以在调用AJAX之前检查你构建的url?
$(document).ready(function()
{
$("#yearId").change(function()
{
var selectedValue = $(this).find(":selected").val();
window.location = "/ModelByYear.do?cID="+selectedValue;
});
});