JQuery Ajax 无法在带有 Struts 的 JSP 中工作

问题描述 投票:0回答:1

我正在尝试创建一个具有 Ajax 功能的 Web 应用程序演示。然而,Ajax 似乎无法使用 JQuery 工作。

我还没有给出任何回应,但我认为警报应该起作用了。然而,当我点击按钮后,什么也没有发生。

可能是Ajax参数有问题?我仍然不清楚如何将变量从 Ajax 传递到操作以及其他方式。

JQuery:

<script>
    $(document).ready(function(){
        $("#select").click(function() {
            $.ajax({
                url:'/db/database!selectAll.action',
                data:'{}',
                type:'POST',
                dataType:"JSON",
                success:function(data){
                    alert(data);
                }
            });
        });
        $("#delete").click(function() {
            alert("aa");
        });
    });
</script>

HTML 标签:

<input id="select"type="button" value="select"/>

Action
:

package com.rwy.demo.web.db;

import com.opensymphony.xwork2.ActionSupport;
import com.rwy.demo.bean.Person;
import com.rwy.demo.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

/**
 * Created by cbl on 2016/1/22.
 */
public class DatabaseAction extends ActionSupport{
    @Autowired
    private PersonService personService;


    public void selectAll() {
        List<Person> personList = personService.selectAllPerson();    
    }
    public void update() {

    }
    public void delete() {

    }
    public void add() {

    }    
}
javascript jquery ajax jsp struts2
1个回答
0
投票

Ajax 以传递参数而不是 json 的方式进行操作并返回 json 结果。您可以使用 Struts2 JQuery 插件Struts2 JSON 插件。它具有可在 JSP 中使用的标记,以便在呈现页面时生成 HTML 和 jQuery 内容。这种方式更可取,因为您需要编写less javascript 代码,并且这样做会减少错误。例如基本的 ajax 调用

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <div id="div1">Div 1</div>
    <s:url id="ajaxTest" value="/AjaxTest.action"/>

    <sj:a id="link1" href="%{ajaxTest}" targets="div1">
      Update Content
    </sj:a>
  </body>
</html>

您可以在 URL 中添加参数

<s:url id="ajaxTest" value="/AjaxTest.action" escapeAmp="false"><s:param name="id" value="123"/></s:url>
© www.soinside.com 2019 - 2024. All rights reserved.