jQuery对ajax的支持

Posted 染红の街道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery对ajax的支持相关的知识,希望对你有一定的参考价值。

有load,get,post和ajax四个方法都可以,其中后三个直接使用$.xx调用

使用方法大致相同,这里只介绍get和post方法

--------------------------------------------------------------------------

JQuery API

jQuery.get(url, [data], [callback], [type])

jQuery.post(url, [data], [callback], [type])

jQuery.ajax(url,[settings])

----------------------------------------------------------------------------

函数的参数信息:

url,[data],[callback],[type]String,Map,Function,StringV1.0

url:待载入页面的URL地址

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default。

----------------------------------------------------------------------------

回调函数的参数:可选

backData:返回值,可能是对象也可能是一个字符串或者js串

      默认情况由服务器返回值决定类型,但也可以根据type参数来决定格式

--------------------------------------------------------------------------

 

推荐使用规则:

  如果只是获取数据而不传递数据,那么使用get

    ①:jQuery.get(url)  根据实际需求对待返回的对象

    ②:jQuery.get(url, function() {

        ...........      

      })  根据实际需求对待返回的对象

  如果需要传递数据就用post方式

    ①:jQuery.post(url, data) 可以上传头像使用

    ②:jQuery.post(url, data, function(backData) {

        ..................backData类型不确定

      }) 

    ③:jQuery.post(url, data, function(backData) {

        ..................强制指定返回值为文本类型,但是如果返回的是json串则无法通过js操控

              解决方法:把文本类型转换成js对象,使用eval函数

                    var newData = eval( "(" + backData + ")" );

      }, “text”) 

一个小例子:

强制使用文本形式获取json串

 1 <script type="text/javascript">
 2            
 3            var url = "${pageContext.request.contextPath}/test";
 4            var params = {"test": "哈哈哈"};
 5            $.post(url, params, function(backData) {
 6            
 7                alert(backData); //强制获取文本类型
 8                
 9                var newData = eval("(" + backData + ")"); //转换成js对象
10                
11                var res = newData.sList;        //通过js操纵json对象
12                for (var i = 0; i < res.length; i++) {
13                    alert(res[i]);
14                }
15            
16            }, "text");
17            
18 </script>

默认方式,如果是字符串就是text类型,如果json串就是js对象

<script type="text/javascript">
           
           var url = "${pageContext.request.contextPath}/test";
           var params = {"test": "哈哈哈"};
           $.post(url, params, function(backData) {
           
               alert(backData); //这里是输出object,即js对象
               
               for (var i = 0; i < res.length; i++) {
                   alert(res[i]);
               }
           
           });
           
</script>

 

以上是关于jQuery对ajax的支持的主要内容,如果未能解决你的问题,请参考以下文章

JavaWebjQuery对Ajax的支持

Javascript代码片段在drupal中不起作用

jQuery对ajax的支持

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持表单操作)

Struts2对AJAX的支持

几个非常实用的JQuery代码片段