$.post()
定义和用法
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>
随机推荐
- 配置 RAILS FOR JRUBY1.7.4
1. 去JRUBY官方网站下载JRUBY http://www.jruby.org/ 目前最新版本是1.7.4,解压到C:\目录下 2. 设置环境变量 JRUBY_HOME = C:\jruby-1. ...
- shell dev null 是什么
1:在不想把标准输出和标准出错信息输出到控制台,也不想重定向到文件时经常使用 2:不能忽略其读入功能.从/dev/null读入时都是0 3:系统的垃圾桶,类似于Windows的回收站,不同的是这个设备 ...
- C++文件操作之 seekg/seekp/tellg/tellp
问题描述: C++文件操作之 tellg/tellp/seekg/seekp 的使用 问题解决: (1)seekg/tellg/seekp/tellp 使用 tellp用于ostream调用,用来&q ...
- C# mongodb [上]
概述 MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是 ...
- [转载]WebBrowser控件表单(form)的自动填写和提交
话说有了WebBrowser类,终于不用自己手动封装SHDocVw的AxWebBrowser这个ActiveX控件了.这个类如果仅仅作为一个和IE一模一样浏览器,那就太没意思了(还不如直接用IE呢). ...
- shallow copy & deep copy
1.深复制与浅复制的概念 ->浅复制(shallow copy)概念 在SDK Guides中(搜索copy),官方给出的浅复制概念为: Copying compound objects, ...
- Sandcastle:生成.NET API文档的工具 (帮忙文档)
(1)准备软件 首先需要我们准备如下软件: SandCastle, 下载地址: http://sandcastle.codeplex.com/releases/view/47665 (2)准备项目文件 ...
- 01-08-03【Nhibernate (版本3.3.1.4000) 出入江湖】二级缓存:NHibernate自带的HashtableProvider之缓存管理
http://www.cnblogs.com/lyj/archive/2008/11/28/1343418.html 管理NHibernate二级缓存 NHibernate二级缓存由ISessionF ...
- 修改npm包管理器的registry为淘宝镜像(npm.taobao.org)
起因 安装了node,安装了npm之后,官方的源实在是 太慢了! 看了看淘宝的npm镜像, http://npm.taobao.org/ 竟然说让我再下载一个cnpm,要不然就每次都得install ...
- MVC4.0中下来列表框的,两种使用方法DropDownList
后台控制器代码 public ActionResult Drop() { var list = new List<SchoolInfo>(); list.Add(new SchoolInf ...