之前类似的方法用过 $.post, $.get,$.ajax,还是第一次用这个 $.getJSON。

前三个都是用作异步请求的,那么最后一个呢?其实也是异步请求的,和 $.get 最类似,因为他也是将数据放在了 url上面。

代码:

// 页面一加载就请求服务器,获取当前用户的笔记本数据
function loadPageNotebooks() {
var page = $(document).data('page');
var userId = getCookie('userId');
var url = 'notebook/page.do';
var data = {
userId : userId,
page : page
};
// 从服务器拉取数据
$.getJSON(url, data, function(result) {
console.log(result);
if (result.state == 0) {
var notebooks = result.data;
showPageNotebooks(notebooks, page);
$(document).data('page', ++page);
} else {
alert(result.message);
}
});
}

后台代码:

    /**
* 获取当前用户的全部笔记本,以json的形式响应回去
* @param userId
* @param page
* @return
*/
@RequestMapping("/page.do")
@ResponseBody
public Object page(String userId, Integer page) {
List<Map<String, Object>> list = notebookService.listNotebooks(userId, page);
return new JsonResult(list);
}

小总结:

$.getJSON() 是专门为 ajax 获取 json 数据而设置的,并且支持"跨域"调用,其语法的格式为:

getJSON( url , [data] , [callback] )

其中三个分别为:

  • url:string类型, 发送请求地址
  • data :可选参数, 待发送 Key/value 参数 ,同 get,post 类型的 data
  • callback :可选参数,载入成功时回调函数,同 get,post 类型的 callback

JSON 是一种理想的数据传输格式,它能够很好的融合与 JavaScript 或其他宿主语言,并且可以被 JS 直接使用。使用 JSON 相比传统的通过 GET、POST 直接发送“裸体”数据,在结构上更为合理,也更为安全。至于 jQuery 的 getJSON() 函数,只是设置了 JSON 参数的 ajax() 函数的一个简化版本。这个函数也是可以跨域使用的,相比 get()、post() 有一定优势。另外这个函数可以通过把请求 url 写成 "myurl?callback=X" 这种格式,让程序执行回调函数X。
注:

数据最终还是通过 url 后面通过 get 方式发送数据出去的,这就决定了,发送的 data 数据量不能太多【get方式最大4KB】,否则造成 url 太长接收失败(getJSON方式是不可能有post方式递交的)。

最新文章

  1. js事件技巧方法整合
  2. AngularJs中,如何在render完成之后,执行Js脚本
  3. 第一讲:WCF介绍
  4. 如何在 iOS 中解决循环引用的问题
  5. 关于 iOS socket 都在这里了
  6. jQuery封装的表单验证,模仿网易或者腾讯登录的风格
  7. [J2EE框架][Debug]
  8. [翻译]如何编写GIMP插件(一)
  9. Linq常用List操作总结,ForEach、分页、交并集、去重、SelectMany等
  10. 初探Margin负值(转)
  11. dummy_backend_queue.go
  12. socket网络编程-----I/O复用之select函数
  13. JavaScript中为什么使用立即执行函数来封装模块?
  14. Ubuntu上部署Jenkins
  15. php5.6 phpmystudy 版本出问题
  16. 简述var、let、const三者的区别
  17. python 列表和元组
  18. BPM编程模型(场景)
  19. Xcode引入了第三方的类库之后真机调试提示莫名其妙的错误
  20. 二十八 Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制

热门文章

  1. Python_sklearn机器学习库学习笔记(四)decision_tree(决策树)
  2. .net如何发送格式化的文本内容
  3. virtualBox linux操作系统centos 挂载光盘
  4. Markdown 版本演进
  5. Java面试中的Spring方面问题
  6. 编写和调试Android下JNI程序流程
  7. Vue 事件处理
  8. 【转】Java生成plist下载ipa文件
  9. The serializable class XXX does not declare a static final serialVersionUID field of type long的警告
  10. JS特效@缓动框架封装及应用