ajax 全局事件 和 各个参数用法

<script type="text/javascript">
/*context

类型:Object

这个对象用于设置 Ajax 相关回调函数的上下文。也就是说,让回调函数内 this 指向这个对象
(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求时传递的 options 参数)
。比如指定一个 DOM 元素作为 context 参数,
这样就设置了 success 回调函数的上下文为这个 DOM 元素。

*data

类型:String

发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。




processData

类型:Boolean

默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

*
*/
$(function(){
     $("#sss").click(function(){
         /*
         JSON 数据是一种能很方便通过 JavaScript 解析的结构化数据。
         如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据)
         ,则需要使用 jsonp 类型。使用这种类型的话,
         会创建一个查询字符串参数 callback=? ,这个参数会加在请求的 URL 后面。
        服务器端应当在 JSON 数据前加上回调函数名,以便完成一个有效的 JSONP 请求。
        如果要指定回调函数的参数名来取代默认的 callback,可以通过设置 $.ajax() 的 jsonp 参数。
        http://192.168.1.47/api/gm/sss?callback=jsonp1350908364322&version=20120922111508,
         (服务器端应当在 JSON 数据前加上回调函数名,以便完成一个有效的 JSONP 请求)指的就是jsonp1350908364322({'msg':'kkk'})
                
        
         如果指定了 script 或者 jsonp 类型,那么当从服务器接收到数据时
         ,实际上是用了 <script> 标签而不是 XMLHttpRequest 对象。这种情况下,$.ajax()
         不再返回一个 XMLHttpRequest 对象,并且也不会传递事件处理函数,
         比如 beforeSend。
        
         $.ajax({
             url:'http://192.168.1.37/api/gm/sss?callback=?',
             data:'version=20120922111508',
             dataType:"jsonp",
             jsonp:"zhangkang",//可以把当前的callback=?  换成zhangkang=?
             success:function(data){
                 alert("Symbol: " + data.result + ", Price: " + data.msg);  
             }
        }); */
        
        
        
        
        
        $.ajax({
                url:"http://192.168.1.37/ajax2/servercontrol/control-server?",
                data:"cmd=log_statues&version=20120922111508&cmd_query=&ip_port=192.168.1.113:9090&totalserver=2111&server_id=1111&platform=4399&server_tag=4399_1111",
                dataType:"json",
                
               // content:'document.body',
                beforeSend:function(XMLHttpRequest){
                    XMLHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                       //alert(XMLHttpRequest.readyState);
                       //alert(XMLHttpRequest.status);
                },
                success:function(data){
                    var json_datas = data;
                    var json_super_val = json_datas.server_staues_ip;
                
                    var   addition = json_datas.addition;
                
                    view_contron_results("&nbsp;&nbsp;"+json_datas.msg
                            +"<font>&nbsp;&nbsp;追加:"+addition,'14','log_statues');
                //    alert('success');
                   // alert("msg: " + json_datas.msg + ", addition: " + addition);
                 
                },
                complete:function(XMLHttpRequest,textStatus){
                    //alert(XMLHttpRequest.readyState+'complete');
                    //alert(XMLHttpRequest.status+'complete');
                    //alert(XMLHttpRequest.textStatus+'complete');
                },
                error:function(XMLHttpRequest,textStatus,errorThrown){//textStatus,errorThrown   只有一个包含数据
                    //alert(XMLHttpRequest.readyState);
                    //alert(XMLHttpRequest.status);
                    //alert(XMLHttpRequest.textStatus);
                },
                /*dataFilter:function(data,type)
                {
                    alert(data.parseJSON().msg);
                }*/
                
               
                
         });
        
     });
     //jquery问题 如何区分ajax的不同请求以实现两个不同的loading条的显示
     $("#sss").ajaxStart(function(e, xhr, settings){
        //alert("ajaxStart");
           $("#div").show().html("加载中。。。。");
         }).ajaxSend(function(e, xhr, settings){
              $("#div").html("加载50%。。。。");
             //alert("ajaxSend");
         }).ajaxStop(function(e, xhr, settings){
             //alert("ajaxstop");
             // $(this).html('<img width="100px" height="100px" src="http://t3.baidu.com/it/u=2032295565,385284422&fm=52&gp=0.jpg"/>');
         }).ajaxSuccess(function(e, xhr, settings){
              $("#div").html('<img width="100px" height="100px" src="http://t3.baidu.com/it/u=2032295565,385284422&fm=52&gp=0.jpg"/>');

         //    alert("ajaxSuccess");
         }).ajaxComplete(function(){
         //    alert("ajaxComplete");
         });
     function view_contron_results(res,id,cmd){
            var already_res=$('#result_iframe').html();
            if(already_res!=''){
                already_res+="<div cmd='"+cmd+"' id='control_res_"+id+"' class='nodone'>";
            }
            var now_res=already_res+res+"</div>";
            $('#result_iframe').html(now_res);
        }     
        



    });

</script>


<div id="result_iframe"></div>
<div id='div' style='display:none;' name='div'></div>
<input type='button' name='sss' id='sss' value='ceshi'/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值