一切从一个普通的前端ajax请求jspringMVC后端的例子开始,

前端jquery ajax 请求:

$.ajax({

url: getAbsoluteUrl('score/findScore'),

type: 'POST',

dataType: 'json', //第1处

success: function (res) {

alert(res);

},

error: function (msg) {

alert(msg);

}

});

后端 springMVC代码

···

@RequestMapping(value = "findScore", method = RequestMethod.POST, produces = "application/json")

public @ResponseBody Map findScore(Model model, ServletRequest request) {

Map map = new LinkedHashMap();

map.put("createdUser","jiabaochina");

map.put("score", 5);

map.put("status", "success");

return map;

}

···

以上的代码是没有问题的,请求后会直接alert一个js对象。

这是因为ajax请求dataType值为json,jquery就会把后端返回的字符串尝试通过JSON.parse()尝试解析为js对象。

我又把dataType值改为'text',结果弹出框直接显示后台返回的json字符串。

我又把dataType值改为'html',结果弹出框直接显示后台返回的json字符串。

以下是jquery api的解释:

通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。

其中,text和xml类型返回的数据不会经过处理。数据仅仅简单的将XMLHttpRequest的responseText或responseHTML属性传递给success回调函数,

'''注意''',我们必须确保网页服务器报告的MIME类型与我们选择的dataType所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。

如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。类似的,指定script类型的话,也会先执行服务器端生成JavaScript,然后再把脚本作为一个文本数据返回。

如果指定为json类型,则会把获取到的数据作为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,他首先尝试使用JSON.parse()。如果浏览器不支持,则使用一个函数来构建。JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。

ajax datatype为html,Jquery ajax请求中datatype的含义相关推荐

  1. Ajax如何设置contenttype,jquery ajax contentType设置

    默认get方法没有contentType,post方法的contentType为:application/x-www-form-urlencoded; charset=UTF-8 (1) 设置成app ...

  2. ajax动态选项卡,如何将动态生成的ajax内容附加到jquery ui选项卡中新添加的选项卡?...

    我在侧面板上有以下表格的表格: one two three four 当有人点击该列的某一行时,该行的标题将作为参数传递给在主面板中显示搜索结果的函数. $("#content-displa ...

  3. ajax 怎么input赋值,jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签...

    jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签 发布于 2016-11-25 16:26:40 | 111 次阅读 | 评论: 0 | 来源: ...

  4. ajax改变div内容,jquery ajax双击div可直接修改div中的内容

    最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果: html代码: {$ ...

  5. ajax json 渲染 html,jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例

    本文实例讲述了jquery+ajax+js实现请求json格式数据并渲染到html页面操作.分享给大家供大家参考,具体如下: 1.先给json格式的数据: [ {"id":1,&q ...

  6. c 中ajax不起作用,Jquery AJAX調用:$(this)在成功后不起作用

    I am wondering why $(this) does not work after a jQuery ajax call. 我想知道為什么$(this)在jQuery ajax調用之后不起作 ...

  7. jquery ajax传递data,基于jquery ajax中的data传递参数与后台工作的流程

    基于jquery ajax中的data传递参数与后台工作的流程 2014-11-12    分类: php学习,前端资源,学习jquery基础 首先列出实例代码 js代码: $('button').c ...

  8. ajax 执行成功 modal 关闭_Ajax请求中的async:false/true的作用

    前言: 昨天在做倒计时修改的时候,发现多次点击按钮,我明明做了限制,点击多次的时候发现怎么都会请求了两次,然后我写的是请求成功添加文字,结果总是会添加两次文字, 说明ajax请求了两次了,在网上查了下 ...

  9. jquery ajax下拉联动,jQuery Ajax MVC 下拉框联动

    无刷新下拉框联动方法: Controllers代码 public JsonResult DH_Change(string DH_ID) { List TeamLeaderList = FinanceD ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:目标检测
  2. 如何评判软件测试培训机构的好坏?
  3. SpringBoot数据缓存
  4. 【深度学习】Transfomer在文本处理上的应用(风格识别)
  5. 文巾解题 1418. 点菜展示表
  6. 如何设计出一个有灵魂的「签到功能」?
  7. zookeeper核心面试问题及解答
  8. 图:[比赛打分策划方案]某航天大学韵律操比赛策划书
  9. 【车间调度】基于matlab粒子群算法求解车间调度问题【含Matlab源码 013期】
  10. 第五章 高级发布-订阅模式
  11. PDPS教程之工艺仿真必备软件
  12. iShot——Mac上功能最全的截图、录屏创造工具
  13. 汉王考勤程序驱动软件安装
  14. 个人总结 - JS逆向解析
  15. 系统自带的微软拼音输入法,在输入字母和数字的时候,间隔变大,输入中文没事的 问题。
  16. android Tinker 热修复 乐固加固后友盟打多渠道包之后的补丁失效
  17. AI实战:垂直领域问答机器人QA Bot常见技术架构
  18. hdu 1276 士兵队列训练问题 (详解)
  19. 全球及中国物流中心产业运营价值与投资可行性研究报告2022版
  20. 02 事务伴生源-Propagation

热门文章

  1. sybase asa转mysql_为Sybase ASA创建外部存储过程(Java示例)
  2. java ssh工具类_JAVA SSH2工具类
  3. rest_快速检查REST API是否有效的方法-从清单文件中获取详细信息
  4. mysql mybatis 主键id_MyBatis+MySQL 返回插入的主键ID-Go语言中文社区
  5. mysql新建备份在哪里_navicat for MySQL创建备份计划的详细流程
  6. 为取消大小周而欢呼?字节员工可不那么想...
  7. 现在的学生太强了,徒手撸了一个小米商城项目(附源码)!
  8. Spring Boot + Redis 实现接口幂等性 | 分布式开发必知!
  9. 如何在到处是“雷”的系统中「明哲保身」?这是第一招
  10. oracle数据库作业1,北京语言20秋《Oracle数据库开发》作业1(100分)