理解jquery ajax中的datatype属性选项值
jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。
一、ajax语法
jQuery.ajax([settings])
参数说明
settings:用于配置 Ajax 请求的键值对集合。可以通过 $.ajaxSetup() 设置任何选项的默认值。
二、ajax的datatype选项的值
1、"xml":返回 XML 文档,可用 jQuery 处理。
2、"html"::返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
3、"script"::返回纯文本JavaScript 代码。不会自动缓存结果,除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
4、"json": 返回 JSON 数据 。
5、"jsonp": JSONP 格式。使用JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数,经常被用来同主域名下不同二级域名下的跨域请求。
6、"text": 返回纯文本字符串。
下面是关于jquery ajax中的datatype相关问题
datatype设置为html的时候返回的只是纯文本,没有什么好说的,设置成xml的时候返回的是一个xml document对象,
比如返回下面这么一个xml
< xml version="1.0" encoding="utf-8" > <documentElement> <table> <provinceID>110000</provinceID> <province>北京市</province> <provinceID>120000</provinceID> <province>天津市</province> </table> </documentElement>
这就需要用XMLDocument之类来操作,还要考虑浏览器
其实jquery本身也可以解析xml,举个简单的例子
$.ajax({ type: "Get", dataType: "xml", url: "test.xml", success: function(datas){ $("province",datas).each(function(i){ alert($($("provinceID",datas)[i]).text() + "_" + $(this).text()); }); } });
test.xml里面的内容就是上面的xml,这样datas就是返回的xml文档对象,lz可以自己试一试
其实相对来说我更喜欢使用datatype:"json",使用json数据对于javascript来说解析起来就更方便了
相关推荐
-
Jquery中ajax方法data参数的用法小结
复制代码 代码如下: $.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", //第一种方式传参 // data: {name:"John",location:"Boston"} //第二种方式传参 // data: {foo:["bar1", "bar2&q
-
Jquery+ajax请求data显示在GridView上(asp.net)
AJAXLoadProgressForm.aspx: 复制代码 代码如下: <script src="JS/jquery-1.4.2.js" type="text/javascript"></script> <script type="text/javascript"> function ShowProgressDiv() { var ID = $("input#idtxt").val();
-
使用jquery的ajax需要注意的地方dataType的设置
昨天在做ajax时遇到问题, 复制代码 代码如下: <SPAN style="WHITE-SPACE: pre"> </SPAN>$.ajax({ url:'<{$weburl}>/main.php?action=getDepart&cid='+cid, type:'post', dataType:'json', success:function(data){ //data=eval('('+data+')'); if(data.s==1)
-
jQuery ajax dataType值为text json探索分享
复制代码 代码如下: <dt style="margin:15px 0px 3px; padding:0px; border:0px; font-weight:bold; color:rgb(4,121,167); font-family:Verdana,Arial,宋体; background-color:rgb(249,249,249)">dataType 类型:String 预期服务器返回的数据类型.如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来
-
JQuery.Ajax()的data参数类型实例详解
假如现在有这样一个表单,是添加元素用的. <form id='addForm' action='UserAdd.action' type='post'> <label for='uname'>用户名</label>:<input type='text' name='uname' id='uname'><br> <label for='mobileIpt'>手机号:</label><input type='text'
-
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
服务器再把GridView反构造成DataTable, 再给DataTable增加一行之后,绑定到GridView,然后发回客户端... 能不能简单一点呢? 在使用Ajax数据请求数据,通常都是简单格式,比如String,信息量较少.当然也可以请求回XML,但是XML数据冗余多,取到客户端处理比json麻烦的多. 能不能简单一点呢? 上面这些问题,如果DataTable与JSON类型可以方便的相互转换,都可以迎刃而解了. 优点:1)避免不必要的回传: 2)精简异步请求数据的大小 : 3)解决数据
-
JQuery DataTable删除行后的页面更新利用Ajax解决
使用Jquery的DataTable进行数据表处理非常方便,常遇到的一个问题就是删除一行后页面必须进行更新,需要注意的方法如下:前台页面中初始化table时注意: 复制代码 代码如下: var table = $('#sorting-advanced'); table.dataTable({ 'bServerSide': true, 'sAjaxSource': 'servlet/UserList<%=queryString%>', 'bProcessing': true, 'bStateSa
-
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
一.WebService.asmx: 处理业务数据,在GetDataSet()方法中产生DataSet(XML)数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [WebMethod] public DataSet GetDataSet() { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("Name", Type.GetType("Sys
-
理解jquery ajax中的datatype属性选项值
jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理. 一.ajax语法 复制代码 代码如下: jQuery.ajax([settings]) 参数说明 settings:用于配置 Ajax 请求的键值对集合.可以通过 $.ajaxSetup() 设置任何选项的默认值. 二.ajax的datatype选项的值 1."xml":返回
-
ajax中的async属性值之同步和异步及同步和异步区别
jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除.而异步则这个AJAX代码运行中的时候其他代码一样可以运行. ajax中async这个属性,用于控制请求数据的方式,默认是true,即默认以异步的方式请求数据. 一.async值为true (异步) 当
-
JQuery ajax中error返回错误及一直返回error的解答
进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了 于时我在ajax中进行了处理 async: false,结果发现提交正常的数据返回是正常的没有错误. 代码如下 $.ajax({ type: "POST", async: false, url:urllink, data:data, dataType:"html", succ
-
jQuery ajax中使用confirm,确认是否删除的简单实例
jQuery ajax 中使用confirm ,确认是否删除按钮 onclick="return confirm('确认删除?');" <script type="text/javascript"> $(function(){ $("#btnDelete").click(function(){ //var user8ID = $.trim( $('#user8ID').val() ); var statu = confirm(&quo
-
Vue如何更改表格中的某一行选项值
如何更改表格中的某一行选项值 结合后端接口,进行相应的传参 Id, state值等,因相关组件库中的方法说明比较简单,有些需要自己去尝试,如下图中change()方法的传参等 //ajax发送请求的相关方法: get : 获取 , post: 新增 , put/patch : 更改, delete: 删除 代码实现 组件库中的方法介绍: 接口示例: 效果: 对table某一行的数据进行编辑,删除,查看详情操作 效果图 在html中需要对button按钮进行template包裹,scope.row
-
用jquery获取自定义的标签属性的值简单实例
如下所示: <tr class="gradeX" role="row" id="1001"> <td>王羲之</td> <td>2016-01-06</td> <td name="phone" style="display:none;">13680130700</td> <td name="pwd"
-
遍历js中对象的属性和值的实例
今天优化项目时,遇到了关于"遍历js中对象的属性和值"的需求.之所以会有这个需求,是因为要做一个局部刷新表格内容的js插件.刚开始我去网上荡了一个js分页插件,但是智商实在捉急,搞了半天没搞出来!后来就怒了,干脆自己写一个好了.结果就遇到了这个问题! 问题:通过遍历属性名数组,获取对象的属性值失败 刚开始的错误代码如下: for(var i=0;i<dataList.length;i++) { var dataLine="<tr>"; for(va
-
jQuery AJAX中readyState与status的区别与联系
作为web前端大杀器之一的AJAX,它的出现颠覆了很多人对web前端的理解,从我个人的角度看来,如果说1996年html/css/JavaScript三神器的终于集齐,使得web前端拥有了召唤神龙的能力,那么ajax就是三神器召唤出来的第一条神龙,从此以后,前后端代码拥有了完全分开的可能,在遇见要向后台传参之类的问题时,前端程序猿们都可以自信的喊出:竜が我が敵をくらえ..... 在使用AJAX时,这里我用的是原生的js而不是jQuery等框架,因为女王告诉我们原生的才是最强大的.... 话不多说
-
jquery ajax中使用jsonp的限制解决方法
jsonp 解决的是跨域 ajax 调用的问题.为什么要跨域 ajax 调用呢?这样可以在一个应用中直接在前端通过 js 调用另外一个应用(在不同的域名下)的 API.我们在实际应用中也用到了 jsonp ,但之前只知道 jsonp 的一个限制,只能发 get 请求,get 请求的弊端是请求长度有限制.今天,发现 jsonp 的另外一个限制(在jquery ajax的场景下) -- 不会触发 $.ajax 的error callback,示例代码如下: 复制代码 代码如下: $.ajax({
-
jQuery ajax中使用serialize()方法提交表单数据示例
jQuery ajax中数据以键值对(Key/Value)的形式发送到服务器,使用ajax提交表单数据时可以使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2-)后提交.serialize() 方法使用标准的 URL-encoded 编码表示文本字符串.下面是使用serialize()序列化表单的实例: 复制代码 代码如下: $.ajax({ type: "POST", url: ajaxCallU
随机推荐
- 如何一行行地读取文件?
- 提升(web)权限终极9技巧
- Android拍照得到全尺寸图片并进行压缩
- PHP提取字符串中的手机号正则表达式怎么写
- PJBLOG使用技巧
- PHP eval函数使用介绍
- Node.js中如何合并两个复杂对象详解
- Python实现批量读取word中表格信息的方法
- Django中URL视图函数的一些高级概念介绍
- centos6.5服务器安装Nginx设置服务和开机自启的方法
- 用户 jb51net 登录失败。原因: 该帐户的密码必须更改
- mysql密码忘记怎么办
- php实现比较两个字符串日期大小的方法
- jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
- js的image onload事件使用遇到的问题
- Node.js pipe实现源码解析
- 经过绑定元素时会多次触发mouseover和mouseout事件
- JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
- 轻松清除XP下光纤拨号设置故障
- Java经典排序算法之二分插入排序详解