JSON和AJAX与jQuery有啥区别?
Posted
技术标签:
【中文标题】JSON和AJAX与jQuery有啥区别?【英文标题】:What is the difference between JSON and AJAX with jQuery?JSON和AJAX与jQuery有什么区别? 【发布时间】:2012-03-12 23:01:40 【问题描述】:我听说 JSON 会序列化所有数据,这会阻止我在客户端在跨浏览器支持等方面遇到问题。
我一直在使用 AJAX 和 jQuery,看起来很简单,但我不确定它们之间的区别,
我读过我也可以用它来获取数据:
$.ajax(
url: url,
dataType: 'json',
data: data,
success: callback
);
谁能解释一下使用 JSON 进行 jQuery AJAX 请求和不使用 json 类型进行 jQuery AJAX 请求之间的区别?
答案是否适用于所有浏览器?
【问题讨论】:
只有在响应被解释为 JSON 时才使用dataType: 'json'
。将json
数据类型用于html 是不明智的。
你得到答案,Rob ;)
但是如果我需要返回一个对象怎么办?基本上是数据库咨询的答案......是使用json还是只使用jquery更好?
【参考方案1】:
我认为您混淆了这些术语。
AJAX 代表 Asynchronous Javascript and XML,这是一种用于启动的机制使用 javascript 向服务器发送异步 HTTP 请求。不要让名字欺骗你;仅从该技术中检索 JavaScript 或 XML 没有任何限制。您也可以很高兴地返回其他数据格式(HTML、纯文本和 JSON,仅举几例)。
JSON 只是其中一种格式。它是一种数据交换格式,其中 AJAX 是一种在初始化页面加载完成后与服务器通信的技术。
回答您是否需要指定dataType
的问题; jQuery 会最好地猜测响应格式(无论是 HTML 还是 JSON 等),所以你通常可以忽略它。
【讨论】:
【参考方案2】:dataType
选项只是更改 jquery 应该从服务器获得的数据类型。它可以是json
、jsonp
、html
、text
、xml
,或您为其定义转换器的任何自定义数据类型。它们都适用于所有浏览器。
默认情况下,如果你不提供dataType
选项,jQuery 会尝试检测返回的数据类型,但是我发现它不能很好地自动检测。
编辑:
但是如果我需要返回一个对象呢?基本上是数据库咨询的答案...是使用json更好还是只使用jquery?
您可以以html
、xml
、json
或jsonp
的形式返回对象。只要它是其中一种格式,jQuery 就能够解释它。
【讨论】:
【参考方案3】:JQuery:它是一个轻量级的 Javascript 库。
JSON - 代表 JavaScript 对象表示法。
Jquery:它是使用 JavaScript 创建的,您将使用库中的内置功能。
Json: JSON 是一种完全独立于语言的文本格式。
JQuery:它是一个快速且精简的 JavaScript 库,可简化 HTML 文档遍历、事件处理、动画和 Ajax 交互,从而实现快速 Web 开发。 jQuery 旨在改变您编写 JavaScript 的方式。
Json:如果您想将数据分配给您的网格,那么可以使用 Json。
【讨论】:
以上是关于JSON和AJAX与jQuery有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
AJAX、RESTful/Rest、JSON 和 JSONP 有啥区别?