我正在尝试使用Ajax的功能创建一个Web应用程序演示。但是,Ajax似乎无法使用JQuery。
我还没有给出任何回复,但我认为警报应该有效。但是,单击按钮后没有任何反应。
Ajax参数可能有问题吗?我仍然不清楚如何将变量从Ajax传递到动作和另一种方式。
任何建议都表示赞赏。
<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>
<input id="select"type="button" value="select"/>
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() {
}
}
答案 0 :(得分:0)
Ajax动作传递参数而不是json并返回json结果。您可以将Struts2 JQuery plugin与Struts2 JSON plugin一起使用。它具有标记,您可以在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>
您可以在此处添加参数
<s:url id="ajaxTest" value="/AjaxTest.action" escapeAmp="false"><s:param name="id" value="123"/></s:url>