JSP没有调用ajax函数

时间:2014-07-16 12:50:02

标签: java ajax jsp

我编写了一个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>   

2 个答案:

答案 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);     
          }
     });
  • 类型是您可以使用GET或POST
  • 的html请求类型
  • ModelByYear.do 是您必须在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;
            });
        });