`

关于对ajax与json数据的理解

 
阅读更多
  这几天,一直在学习关于ajax与json数据的理解。一直不是很理解ajax到底怎么用。
  看了很多大神的博客,很多都是运用php与asp来链接ajax。而且看到很多关于ajax中的XHR请求的东西。发觉自己看源码不太能看懂。于是,就转向看jquery中的ajax,既然jquery中由封装好的$.ajax()方法,就想从中先学会如何使用。
由于对里面的很多方法都不太理解,于是我找到并总结了比较详细的$.ajax()的方法。
如下:
1.url:
要求为String类型的参数,(默认为当前页地址)发送请求的地址。

2.type:
要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。

3.timeout:
要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。

4.async:
要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。

5.cache:
要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

6.data:
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType:
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

8.beforeSend:
要求为Function类型的参数,发送请求前可以修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是惟一的参数。
            function(XMLHttpRequest){
               this;   //调用本次ajax请求时传递的options参数
            }
9.complete:
要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
          function(XMLHttpRequest, textStatus){
             this;    //调用本次ajax请求时传递的options参数
          }

10.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
         (1)由服务器返回,并根据dataType参数进行处理后的数据。
         (2)描述状态的字符串。
         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

12.contentType:
要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter:
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

14.dataFilter:
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

15.global:
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified:
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp:
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username:
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password:
要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData:
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset:
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

其中的datatype,可以由json以及jsonp。不太明白之间区别,要多看多学习。
今天的博客就写到这里吧!
分享到:
评论

相关推荐

    Ajax And Json.emmx

    对ajax和json的知识点记性一个总结,并使其按照一定的架构,构建成一个思维导图,便于之后对于知识点的理解和记忆,同时这样的一个架构也可以适用自己的知识总结。 Ajax是一种在无需重新加载整个网页的情况下,能够...

    基于$.ajax()方法从服务器获取json数据的几种方式总结

    : :冒号前为键,后为值(这个值可以是基本数据类型的值,也可以是数组或对象),所以 {“age”: 18} 可以理解为是一个包含age为18的json对象,而[{“age”: 18},{“age”: 20}]就表示包含两个对象的json数组。...

    JSONF示例,JSON入门案例,JSON

    这是一个简单的JSON用AJAX效果取出PHP文件中JSON数据的实例,对理解JSON技术有很的帮助,对于数据处理和调用非常明了,一看就懂.

    在构建一个Java web项目中。比如我以学生表为例子.对学生表的数据进行增删改查如何进行呀。 在此之前要构建项目运行的环境:采

    前端技术与服务器数据交互技术:离不开前端访问服务器的数据 在这里我们学了两种方案。方案一利用上个学Servlect+jsp页面编程技术. 方案二利用这个学期所学AJax+JSON+HTMl.在HTML中有包含这些内容...

    深入理解python对json的操作总结

    Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。Python的官网网址:...

    Ajax-calls-to-load-data-from-json-file

    我已经使用Jquery作为客户端框架,这有助于对服务器进行Ajax调用并将json数据加载到网页。 Node.js具有丰富的库函数集合,可以轻松托管服务器。 使用jQuery对服务器进行Ajax调用是一项棘手的任务,并且花费了一些...

    jquery-1.1.3 效率提高800%

    // the options for this ajax request }global(true) 数据类型: Boolean 是否为当前的请求触发全局AJAX事件处理函数,默认值为true。设置为false可以防止触发像ajaxStart或ajaxStop这样的全局事件处理函数...

    前端最全汇总面试题及答案.docx

    JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、重构、...

    Grails 中文参考手册

    6.1.7 XML和JSON响应 6.1.8 上传文件 6.1.9 命令对象 6.2 Groovy Server Pages 6.2.1 GSP基础 6.2.1.1 变量和作用域 6.2.1.2 逻辑和迭代 6.2.1.3 页面指令 6.2.1.4 表达式 6.2.2 GSP标签 6.2.2.1 变量和作用域 6.2....

    java期末项目大作业源码-fetch-and-ajax-reading:获取和ajax读取

    使用fetch对数据发出 GET 请求。 描述什么是承诺以及如何解决从fetch返回的承诺 了解使用从 AJAX 请求加载的数据呈现新 HTML 内容的概念。 提交: 今晚的作业需要提交。 您必须在家庭作业仓库上创建一个问题,其中...

    2022前端企业高频问答题

    JavaScript: 数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、重构、...

    WEB安全测试

    10.11 通过JSON劫持来读取私有数据 227 第11章 操纵会话 229 11.1 在Cookie中查找会话标识符 230 11.2 在请求中查找会话标识符 232 11.3 查找Authentication头 233 11.4 分析会话ID过期 235 11.5 使用Burp分析会话...

    达内java培训目录

    掌握基于XML和JSON的Ajax数据规则。 Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止...

    ajaxFileUpload修改版(增加了注释 增加了多文件上传)

    ajaxFileUpload修改版 1.增加了对多文件上传的处理 2.修复了jQuery.handleError is not a function错误 3.修复了回传json数据失败的问题(回传的json数据多加了<pre> 标记) 4.增加了注释便于理解

    education-and-examination:学年设计(教育和考试网)

    education-and-examination 前端用bootstrap框架+ajax异步请求 ...功能分析 管理员可以向网上考试系统增加和删除教师和学生和增加试题...以我自己的理解,其实ajax就是方便数据从前端传递到后端。在java中,主要有两种。第

    ajax验证码异步刷新源码新手java-front-end-face-questions:史上最全前端开发面试问题及答案整理

    数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。 其他: HTTP、安全、正则、优化、重构、响应式、移动端、...

    jQuery权威指南-源代码

    同时,我还要感谢我的家人,正是他们的理解与默默支持,才使得我能全心写作、顺利完成本书的编写。 陶国荣 2010年11月 目 录 前 言 第1章 jQuery开发入门/1 1.1 jQuery概述/2 1.1.1 认识jQuery /2 1.1.2 ...

    ASP EXCEL导入SQL

     业务展现层主要为用户数据的不同视图表现,为用户呈现各种易于浏览、便于理解的各种数据表现方式,如表单、表格、报表、图表等;  业务逻辑层主要是业务逻辑的具体实现层,对于用户动作、触发事件以及工作流程等...

    ASP.NET4高级程序设计(第4版) 3/3

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

Global site tag (gtag.js) - Google Analytics