定义和用法
post() 方法通过 HTTP POST 请求从服务器载入数据。
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
参数 | 描述 |
---|---|
url | 必需。规定把请求发送到哪个 URL。 |
data | 可选。映射或字符串值。规定连同请求发送到服务器的数据。 |
success(data, textStatus, jqXHR) | 可选。请求成功时执行的回调函数。 |
dataType |
可选。规定预期的服务器响应的数据类型。 默认执行智能判断(xml、json、script 或 html)。 |
项目中:
页面代码:
<script src="${ctx}/js/jquery.js"
type="text/javascript"></script>
<script type="text/javascript">
$(document).ready( function() {
//使用 Ajax 的方式 检查分类名是否存在
$("#result").hide();
$("#name").keyup( function() {
var url = '${ctx}/manage/example/gradeAjax.action';
//获取表单值,并以json的数据形式保存到params中
var params = {
name:$("#name").val()
//上行结尾决对不加逗号(,)。如果加了在IE6下就不能运行实现了。
};
//alert(params.name);
//使用$.post方式
$.post(
url, //服务器要接受的url
params, //传递的参数
function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
var a = eval_r("("+data+")"); //包数据解析为json 格式
//eval_r() 函数可计算某个字符串,并执行其中的的 JavaScript 码 if(a.existed == "0"){
//$('#name').focus();// $('#name')[0].focus();
//$('#name').val($("#name").val());
$("#result").hide();
//setTimeout("$('#result').hide();",1000);//1秒
}else{$("#result").show();}
},
'json' //数据传递的类型 json
);
});
});
</script>
。。。。
<tr>
<td class="item">班级名</td>
<td><input type="text" id="name" name="name" /><span id="result" style="color:red;font-size:12;">班级名已存在</span></td>
</tr>
后台:
@SuppressWarnings("serial")
public class GradeAjaxAction extends ActionSupport {
private final Log log = LogFactory.getLog(getClass());
private String name;
private String result;
@Autowired
@Qualifier( "gradeServiceImpl")
private GradeService gradeService;
@Override
public String execute() throws Exception {
log.debug(name);
// 用一个Map做例子
Map<String, String> map = new HashMap<String, String>();
log.debug(name);
boolean b = this.gradeService.isExistName(name);
log.debug(b);
// 为map添加一条数据,记录一下页面传过来name
map.put("existed", b ? "1" : "0");
log.debug("map:" + map);
// 将要返回的map对象进行json处理
JSONObject jo = JSONObject.fromObject(map);
log.debug("jo:" + jo);
// 调用json对象的toString方法转换为字符串然后赋值给result
this.result = jo.toString();
// 可以测试一下result
log.debug("result:" + this.result);
return SUCCESS;
}
public String getResult() {
return result;
}
public void setName(String name) {
this.name = name;
}
}
配置文件中:
<action name="gradeAjax" class="com.goldsoft.action.example.GradeAjaxAction">
<!-- 返回类型为json, 在struts2-json-plugin-2.2.3.jar->struts-plugin.xml中定义 -->
<result type="json">
<!-- root的值对应要返回的值的属性 -->
<!-- 这里的result值即是 对应action中的 result -->
<param name="root">result</param>
</result>
</action>
$(document).ready( function() {
//使用 Ajax 的方式 检查分类名是否存在
$("#result").hide();
$("#name").keyup( function() {
var url = '${ctx}/manage/example/gradeAjax.action';
//获取表单值,并以json的数据形式保存到params中
var params = {
name:$("#name").val()
//上行结尾决对不加逗号(,)。如果加了在IE6下就不能运行实现了。
};
//alert(params.name);
//使用$.post方式
$.post(
url, //服务器要接受的url
params, //传递的参数
function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
var a = eval_r("("+data+")"); //包数据解析为json 格式
//eval_r() 函数可计算某个字符串,并执行其中的的 JavaScript 码 if(a.existed == "0"){
//$('#name').focus();// $('#name')[0].focus();
//$('#name').val($("#name").val());
$("#result").hide();
//setTimeout("$('#result').hide();",1000);//1秒
}else{$("#result").show();}
},
'json' //数据传递的类型 json
);
});
});
</script>
。。。。
<tr>
<td class="item">班级名</td>
<td><input type="text" id="name" name="name" /><span id="result" style="color:red;font-size:12;">班级名已存在</span></td>
</tr>
后台:
@SuppressWarnings("serial")
public class GradeAjaxAction extends ActionSupport {
private final Log log = LogFactory.getLog(getClass());
private String name;
private String result;
@Autowired
@Qualifier( "gradeServiceImpl")
private GradeService gradeService;
@Override
public String execute() throws Exception {
log.debug(name);
// 用一个Map做例子
Map<String, String> map = new HashMap<String, String>();
log.debug(name);
boolean b = this.gradeService.isExistName(name);
log.debug(b);
// 为map添加一条数据,记录一下页面传过来name
map.put("existed", b ? "1" : "0");
log.debug("map:" + map);
// 将要返回的map对象进行json处理
JSONObject jo = JSONObject.fromObject(map);
log.debug("jo:" + jo);
// 调用json对象的toString方法转换为字符串然后赋值给result
this.result = jo.toString();
// 可以测试一下result
log.debug("result:" + this.result);
return SUCCESS;
}
public String getResult() {
return result;
}
public void setName(String name) {
this.name = name;
}
}
配置文件中:
<action name="gradeAjax" class="com.goldsoft.action.example.GradeAjaxAction">
<!-- 返回类型为json, 在struts2-json-plugin-2.2.3.jar->struts-plugin.xml中定义 -->
<result type="json">
<!-- root的值对应要返回的值的属性 -->
<!-- 这里的result值即是 对应action中的 result -->
<param name="root">result</param>
</result>
</action>