【问题标题】:JSP not calling ajax functionJSP不调用ajax函数
【发布时间】:2014-07-16 12:50:01
【问题描述】:

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

【问题讨论】:

  • 你的 jquery 函数工作了吗?
  • 是的。 jquery 函数正在工作...但不是 ajax 一个
  • 你有没有检查过你的select元素有id="yearId",并使用控制台确认是否有javascript错误?
  • 问题出在启动本身。我无法在更改 dropdpwn 值时调用 Ajax 函数。您能否建议在调用 AJAX 函数时会出现什么问题?

标签: java ajax jsp


【解决方案1】:

也许您可以在调用 AJAX 之前检查您首先构建的 url?

$(document).ready(function() 
        {
            $("#yearId").change(function() 
            {
                var selectedValue = $(this).find(":selected").val();
                window.location = "/ModelByYear.do?cID="+selectedValue;
            });
        });

【讨论】:

  • 问题出在启动本身。我无法在更改 dropdpwn 值时调用 Ajax 函数。您能否建议在调用 AJAX 函数时会出现什么问题?
【解决方案2】:

从您的 URL 中删除/,如下所示,, 不是必需的

$.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);     
          }
     });
  • type 是 html 请求类型,可以使用 GET 或 POST
  • ModelByYear.do 是您的 URL,您必须在 WEB.xml 中映射此 url 模式

在处理 JSP 时,不要直接调用 jsp 页面,而是按照给定的here 在 WEB.xml 中进行配置

【讨论】:

  • 用上面的代码试过了。但似乎没有工作。我正在将 url 映射到 servlet sing struts config
  • 你遇到了什么问题?
  • 从下拉列表中选择一个值后,基本上根本不会调用AJAX函数。
  • 最好检查浏览器控制台,检查给定的 URL 是否工作,直接从浏览器调用该 URL 一次并检查
  • 问题出在启动本身。我无法在更改 dropdpwn 值时调用 Ajax 函数。您能否建议在调用 AJAX 函数时会出现什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2021-01-30
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
相关资源
最近更新 更多