转:http://blog.csdn.net/lixld/article/details/12206367

之前用了$.post()已经很久了,可是从来没有好好研究过这里的data对象,今天好好总结下:

jQuery文档中说,这里的data类型可以是:xml, html, script, json, text, _default

下面介绍我用过的几种:

1.json

后台:

PrintWriter out = null;
try {
JSONArray json = JSONArray.fromObject(list);
getResponse().setContentType("text/html;charset=UTF-8");
getResponse().setCharacterEncoding("UTF-8");
out = getResponse().getWriter();
out.write(json.toString());//返回json字符串
out.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}

前台:

$.get(url, { "searchContent": searchContent }, function(data) {
         cache[searchContent]=data;//保存缓存
         var d = eval("("+data+")");//通过eval() 函数可以将JSON字符串转化为对象。---这里没有给$.get()配置返回类型,直接调用这个则自动识别为json
$($autocomplete).css({"left":$("#search-text").position().left,"top":$("#search-text").position().top+32});
         var li = "<li style='padding-left:5px;text-align:left;width:395px;position: relative;height: "+height+"'></li>";
                $autocomplete.empty();
                $.each(d, function(index, term) {//jquery的each函数$.each(data,function(index,item){})
clientTypeId = term.dim.id;
version = term.version.name;

}

}

2.text

用于唯一性检查

后台:

@Action("checkOemTag")
public void checkOemTag() {
String oemTag = this.getRequest().getParameter("oemTag");

List<DimOemtag> dimOemtags = dimOemtagManager.getTagByOemTag(oemTag);
PrintWriter out;
try {
out = this.getResponse().getWriter();
if(dimOemtags!=null&&dimOemtags.size()!=0){
out.print("exist");//直接返回字符串
out.flush();
out.close();
}else{
out.print("noexist");
out.flush();
out.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

前台:

$.post(base+"/manager/tag/checkOemTag.feinno",
{oemTag:thisObjVal},
function(data){
if("exist"==data){//直接返回是一个字符串
thisObj.css("background-color","pink");
thisObj.css("color","red");
var left = thisObj.offset().left;
var height = thisObj.height();
var width = thisObj.width();
var top = thisObj.offset().top;
top = top+height+3;
thisErrorMsgObj.css("display","block");
}else{
thisObj.css("background-color","");
thisObj.css("color","");
thisErrorMsgObj.css("display","none");
$(OEMTagTD).find("#tagNameTD").css("height","30");
$(OEMTagTD).find("#tagName").css("height","30");

}
},"text"//这个非常重要,如果直接返回一个字符串,用text,经过测试,如果不写,也不用eval函数则默认是xml

);

------------------------------------------------------------------------------------------------------------------------------

用ajax来显示等待动态gif图,

步骤1:页面本身就有一个动态的gif图片

步骤2:调用ajax或者$.post()返回,在回调函数中把步骤1的动态图去掉(通过控制样式)

=======================================ajax填充表单页面,日期类型显示为【Object】====================================================

解决办法方法:

function(data)的更多相关文章

  1. DB2创建function(二)

    DB2创建function(一),介绍将function内容作为字段值,或做为一个where条件的情况. DB2创建function(二),介绍返回的内容为一个集合的情况.调用结果集的示例如下: se ...

  2. DB2创建function(一)

    案例一:根据传入的值返回一个满足条件的值.适用于查询的字段(经过较复杂逻辑得出) CREATE FUNCTION "FAS"."GET_ALL_NAME" ( ...

  3. Angular从0到1:function(下)

    1.前言 2.function(下) 2.13.angular.isArray(★★) angular.isArray用于判断对象是不是数组,等价于Array.isArray console.log( ...

  4. Angular从0到1:function(上)

    1.前言 Angular作为最流行的前端MV*框架,在WEB开发中占据了重要的地位.接下来,我们就一步一步从官方api结合实践过程,来学习一下这个强大的框架吧. Note:每个function描述标题 ...

  5. Shell脚本中使用function(函数)示例

    这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下   函数可以在shell script ...

  6. 【LightOJ1336】Sigma Function(数论)

    [LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...

  7. 第12课 std::bind和std::function(3)_std::function可调用对象包装器

    1. std::function (1)首先是一个类模板,用于包装可调用对象.可以容纳除了类成员(函数)指针之外的所有可调用对象. (2)可以将普通函数,lambda表达式和函数对象类统一起来.尽管它 ...

  8. 第11课 std::bind和std::function(2)_std::bind绑定器

    1. 温故知新:std::bind1st和std::bind2nd (1)bind1st.bind2nd首先它们都是函数模板,用于将参数绑定到可调用对象(如函数.仿函数等)的第1个或第2个参数上. ( ...

  9. [基础] Loss function (二)

    Loss function = Loss term(误差项) + Regularization term(正则项),上次写的是误差项,这次正则项. 正则项的解释没那么直观,需要知道不适定问题,在经典的 ...

随机推荐

  1. go 操作数据库

    假设有了数据库,创建表 CREATE TABLE `userinfo` ( `uid` INT(10) NOT NULL AUTO_INCREMENT, //自增字段 `username` VARCH ...

  2. Make命令完全详解教程

    Make命令完全详解教程 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用m ...

  3. Python自动化运维——IP地址处理模块

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 模块:IPy 功能:辅助我们高效的完成IP的规划工作 安装: wget https://pypi.python.o ...

  4. AVL重平衡细节——插入

    话说这个系列鸽了好久,之前在准备语言考试,就没管博客了,现在暑假咱们继续上路! 每当我们进行一次插入之后,整棵AVL树的平衡性就有可能发生改变,为了控制整棵树的高度,我们需要通过一系列变换(重平衡)来 ...

  5. 如何在windows“我的电脑”中添加快捷文件夹

    如图所示,windows中打开“我的电脑”时,原来有6个默认的文件夹,访问非常便捷,自己想再增加,可以使用“ThisPCTweaker”即可完成 操作如下图,不多解释,简单操作: 文件下载:http: ...

  6. leetcode笔记--3 Niim game

    question: You are playing the following Nim Game with your friend: There is a heap of stones on the ...

  7. Java测试工具和框架

    个人目前只接触过JUnit以及Powermock,后续会关注更多有关测试这方面的东西 8个超实用的Java测试工具和框架_开发/数据库_IT专家网 http://database.ctocio.com ...

  8. formValidator 不支持jquery1.9以上的解决办法

    不支持的原因是因为jquery1.9以上版本剔除了$.browser 在formValidator 源码最顶层.或者jquery源码里加上如下代码 $.browser = {};$.browser.m ...

  9. Tuxedo 介绍与安装

    Tuxedo 介绍与安装(一) Tuxedo介绍                                                                             ...

  10. python学习总结----异常处理

    相关概念 - 错误:程序运行之前的语法错误,如:关键字.缩进不齐.括号不成对. - 异常:在程序运行过程中出现的问题,如:除数为0.对象属性不存在等. 异常处理 - 说明:异常处理可以理解为特殊的流程 ...