jquery中的$.post()方法最后一个参数。

$.post(url,data,success(data,textStatus,jqXHR),dataType),最后一个参数是数据类型,但是是可选的,如果不传递这个参数... $.post(url,data,success(data, textStatus, jqXHR),dataType),

最后一个参数是数据类型,但是是可选的,如果不传递这个参数,那默认的数据格式是什么?
展开
 我来答
miniappqsrwizz6l0mja
2015-02-10 · 超过29用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:33.9万
展开全部
$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或银陆竖者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。

通过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参数。

注意,JSONP是JSON格式的扩展。他要求一些服务器端的代码来检测并处理查询字符串参数。更多信息可以参阅 最初的文章。

如果指定了script或者jsonp类型,那么当从服务器接收到数据时,实际上是用了<script>标签而不是XMLHttpRequest对象。这种情况下,$.ajax()不再返回一个XMLHttpRequest对象,并且也不会传递事件处理函数,比如beforeSend。

上面是官方的解说,但是在实际应用中,用得最多的就是html和json,如果是html,那么返回的数据直接插入或打印在某个地方就可以了,浏览器会照样解析;

如果是json,会复杂点,首先要先对json数据进行处理一遍,我的理解的话,json跟数组很像,所以传回来的数据要先处理一遍才能用,建议找一些jquery的get和post的教程来看看。
百度网友e7102d2
2015-02-10 · TA获得超过1083个赞
知道小有建树答主
回答量:428
采纳率:66%
帮助的人:641万
展开全部

你好,默认的数据格式档友是取决于所返回的内容,在jquery中对返回值类型有以下描述

6描述:


向页面 test.php 发送数据,并输出结果(HTML 或 XML,取决于所返回的内容):
jQuery 代码:
$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });
7描述:
获得 test.php 页面的内容,并存储为 XMLHttpResponse 对象前蠢渣,并通过 process() 这个 JavaScript 
函数进行处理:
jQuery 代码:
$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     process(data);
   }, "xml");
8描述:
获得 test.php 页面返回的 json 格式的内容::
jQuery 代码:
$.post("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // John
     console.log(data.time); //  2pm
   慧悄}, "json");

希望可以帮助到你

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-04
展开全部

默认是字符轿圆串类型,可选json类型

$.post('/url.html',{d:'d'},function(){ })
// 默认字闭举塌符串
$.post('答段/url.html',{d:'d'},function(){ },'json')
// www.hi-docs.com/jquery/$.post.html
追问
一次传递很多个值的时候,也是字符串类型的吗,如果改为json格式,在服务端接受数据的形式需要改变吗? 比如说默认情况下我用$_post就可以接收到,如果该为json格式的,如何接收数据
追答
注意,它只是设置返回的数据是什么格式,不关你传递多少个值的问题,接收数据不变,只是读取的时候要用json的格式来读取,如果你服务器返回的不是json格式的数据,dataType又设置为json是不行的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茜拉密
2018-08-04 · TA获得超过1.7万个赞
知道小有建树答主
回答量:129
采纳率:88%
帮助的人:5.2万
展开全部

是text文本数据。

$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历察裂敬。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。

通过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类型。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式