GVKun编程网logo

Ajax中send参数(ajax的send)

13

针对Ajax中send参数和ajax的send这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展$.ajax()方法的参数你知道多少?$.ajax()方法的各个参数详解、1.(ajaxStar

针对Ajax中send参数ajax的send这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展$.ajax() 方法的参数你知道多少?$.ajax() 方法的各个参数详解、1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?、Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax、AJAX(第三部分:Ajax中的高级请求和响应)等相关知识,希望可以帮助到你。

本文目录一览:

Ajax中send参数(ajax的send)

Ajax中send参数(ajax的send)

一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。

例如:
var url = "login.jsp?user=XXX&pwd=XXX";
xmlHttpRequest.open("GET",url,true);
xmlHttpRequset.send(null);

此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。

例如:
xmlHttpRequest.open("POST","login.jsp",true);
xmlHttpRequest.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttpRequest.send("user="+username+"&pwd="+password);

需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法。

$.ajax() 方法的参数你知道多少?$.ajax() 方法的各个参数详解

$.ajax() 方法的参数你知道多少?$.ajax() 方法的各个参数详解

本篇文章主要的向大家讲述了关于$.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)。通常在本地和远程的内容编码不同时使用。(想看更多就到PHP中文网AJAX开发手册栏目中学习)

案例代码:

$(function(){
    $('#send').click(function(){
         $.ajax({
             type: "GET",
             url: "test.json",
             data: {username:$("#username").val(), content:$("#content").val()},
             dataType: "json",
             success: function(data){
                         $('#resText').empty();   //清空resText里面的所有内容
                         var html = ''; 
                         $.each(data, function(commentIndex, comment){
                               html += &#39;<p><h6>&#39; + comment[&#39;username&#39;]
                                         + &#39;:</h6><p&#39; + comment[&#39;content&#39;]
                                         + &#39;</p></p>&#39;;
                         });
                         $(&#39;#resText&#39;).html(html);
                      }
         });
    });
});
登录后复制

22.顺便说一下$.each()函数:
$.each()函数不同于jquery对象的each()方法,它是一个全局函数,不操作jquery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。
本篇文章到这就结束了(想看更多就到php中文网ajax使用手册栏目中学习),有问题的可以在下方留言提问。

以上就是$.ajax() 方法的参数你知道多少?$.ajax() 方法的各个参数详解的详细内容,更多请关注php中文网其它相关文章!

1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?

1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?

基本上就是这个问题(括号很重要)

Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax

Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax

AJAX(第三部分:Ajax中的高级请求和响应)

AJAX(第三部分:Ajax中的高级请求和响应)

在本系列上篇中,我们详细介绍XMLHttpRequest对象,它是Ajax应用程序的中心,负责处理服务器端应用程序和脚本的请求,并处理从服务器端组件返回的数据。由于所有的Ajax应用程序都要使用XMLHttpRequest对象,因此您可能会希望熟悉这个对象,从而能够让Ajax执行得更好。

重点

HTTP就绪状态

HTTP状态代码

可以生成的请求类型


深入了解HTTP就绪状态

0:请求没有发出(在调用open()之前)。

1:请求已经建立但还没有发出(调用send()之前)

2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。

3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。

4:响应已完成,可以访问服务器响应并使用它。


隐秘就绪状态

第一种就绪状态的特点是readyState属性为0(readyState==0),表示未初始化状态。一旦对请求对象调用open()之后,这个属性就被设置为1.由于您通常都是在一对请求进行初始化之后就立即调用open(),因此很少会看到readyState==0的状态。另外,未初始化的就绪状态在实际的应用程序中是没有真正的用处的。


查看正在处理的请求的就绪状态


浏览器的不一致性


显微镜下的响应数据


查看请求的响应文本


获取安全数据


深入了解HTTP状态代码

有了就绪状态和您在Ajax编程技术中学习到的服务器的响应,您就可以为Ajax应用程序添加另外一级复杂性了——这要使用HTTP状态代码。这些代码对于Ajax来说并没有什么新鲜。从Web出现以来,它们就已经存在了。在Web浏览器中您可能已经看到过几个状态代码:

401:未经授权

403:禁止

404:没找到


200:一切正常

在很多Ajax应用程序中,您将看到一个回调函数,它负责检查就绪状态,然后继续利用从服务器响应中返回的数据。


重定向和重新路由

在深入介绍有关错误的内容之前,我们有必要来讨论一下有关一个在使用Ajax时并不需要关心的问题——重定向。在HTTP状态代码中,这是300系列的状态代码,包括:

301:永久移动

302:找到(请求被重新定向到另外一个URL/URI上)

305:使用代理(请求必须使用一个代理来访问所请求的资源)


错误


其他请求类型


生成请求

实际上生成HEAD请求非常简单:您可以使用“HEAD”(而不是“GET”或“POST”)作为第一个参数来调用open()方法。

当您这样生成一个HEAD请求时,服务器并不会像对GET或POST请求一样返回一个真正的响应。相反,服务器只会返回资源的头(header),这包括响应中内容最后修改的时间、请求资源是否存在和很多其他有用信息。您可以在服务器处理并返回资源之前使用这些信息来了解有关资源的信息。

输出从 HEAD 请求中获得的响应头的内容

function updatePage() {
if (request.readyState == 4) {
alert(request.getAllResponseHeaders());
}
}
您可以单独使用这些头(从服务器类型到内容类型)在Ajax应用程序中提供其他信息或功能。


检查URL

要实现这种功能,生成一个HEAD请求,然后在回调函数中检查404错误。

function updatePage() {
if (request.readyState == 4) {
if (request.status == 200) {
alert("URL exists");
} else if (request.status == 404) {
alert("URL does not exist.");
} else {
alert("Status is: " + request.status);
}
}
}
这段代码的价值并不太大。服务器必须对请求进行响应,并构造一个响应来填充内容长度的响应头,因此并不能节省任何处理时间。另外,这花费的时间与生成请求并使用HEAD请求来查看URL是否存在所需要的时间一样多,因为它要生成使用GET或POST的请求。


有用的HEAD请求

您会发现HEAD请求非常有用的一个领域是用来查看内容的长度或内容的类型。这样可以确定是否需要发回大量数据来处理请求,和服务器是否试图返回二进制数据,而不是HTML、文本或XML(在JavaScript中,这3钟类型的数据都比二进制数据更容易处理)。在这些情况下,您只是要了适当的头名,并将其传递给XMLHttpRequest对象的getResponseHeader()方法。因此要获取响应的长度,只需要调用request.getResponseHeader("Content-Length");要获取内容类型,请使用request.getResponseHeader("Content-Type");

我们今天的关于Ajax中send参数ajax的send的分享就到这里,谢谢您的阅读,如果想了解更多关于$.ajax() 方法的参数你知道多少?$.ajax() 方法的各个参数详解、1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?、Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax、AJAX(第三部分:Ajax中的高级请求和响应)的相关信息,可以在本站进行搜索。

本文标签: