ajax之get、post

异步获取数据:

<script type="text/javascript">
/**
 * [showstatus 获取数据]
 * @return {[type]} [description]
 */
function showstatus()
{ 

    /**
     * [用post方式获取数据]
     * @param  {[type]} user       [网页用户名]
     * @param  {[type]} password  [网页用户名密码]
     * @param {[type]}  type          []
     */
    $.get("/demo/web/status/class.curstatus.php",{user:"admin",password:"admin",type:0},function(data, textStatus, xhr) 
        {
            // $("#datashow").html(data);
            var statusArr = eval("("+data+")");
            var curstatusArr = statusArr['info'];  
            // console.log(curstatusArr);

            for (var i = 0; i < curstatusArr.length; i++) {
                 for(var key in curstatusArr[i])
                 {
                     $("#"+key+i).text(curstatusArr[i][key]);
                 }
            };          

        });

    setTimeout("showstatus()",10000);
}

  $(function(){
      showstatus();
  }); 
</script>

异步提交数据:

 

<script type="text/javascript">


  $(function() {
          $("#product_uuid").focus();
          // alert(new Date());

          $("#submit").submit(function ()
          {
              // guard_form_submit.php
              jQuery.ajax({
                  url:'guard_form_submit.php',
                  type: 'post',
                  // dataType: 'text',
                  data:$("#guard_form").serialize(),
                  success: function (data) {


                      if(data.length > 0)
                      {
                          console.log(data)

                        if(data == "success")
                        {
                             // alert("hhhhhhhhh");
                             $("#addBox").text("保存成功");
                        }
                        else
                        {

                             $("#addBox").text("保存失败");
                          
                        }
                        
                          $("#product_uuid").focus();
                          $("#product_uuid").val("");

                  
                        $("#addBox").toggle(1000);
                        // $("#addBox").toggle(1000);
                        

                      }

                      

                  }



              })
          })


  });    



</script>

 要点:

  1、使用$.get,$.post进行参数传递时,key不能为变量,只能字符串

    

       var sParam = arr[0]+"_"+arr[1];

       $.post('485_info_configuration_submit.php', {"Port": arr[0],"Type":arr[1],sParam:$("#"+sParam).val()}, function(data, textStatus, xhr) {}

  sParam不能的变量值不能传递。实际的key值为sParam,而非sParam的变量值

  2、表单的序列化

    serialize()序列,转化为字符串,类似a=1&b=2&c=3

    serializeArray()序列化, json数据,后台可以直接用数组进行获取解析

   后台用Post获取到的数据分别为:

 

Array
(
    [serialForm] => returnURL=485_info_configuration.php&Port=4&Type=PowerCtrlStatus&1_PowerCtrlStatus=1&1_OutSingalStatus=0&2_PowerCtrlStatus=1&2_OutSingalStatus=0&3_PowerCtrlStatus=1&3_OutSingalStatus=0&4_PowerCtrlStatus=1&4_OutSingalStatus=1&5_PowerCtrlStatus=1&5_OutSingalStatus=0&6_PowerCtrlStatus=1&6_OutSingalStatus=0&7_PowerCtrlStatus=1&7_OutSingalStatus=1&8_PowerCtrlStatus=1&8_OutSingalStatus=0&9_PowerCtrlStatus=1&9_OutSingalStatus=1&10_PowerCtrlStatus=1&10_OutSingalStatus=0&11_PowerCtrlStatus=1&11_OutSingalStatus=1&12_PowerCtrlStatus=1&12_OutSingalStatus=0
)




( [serialForm] => Array ( [0] => Array ( [name] => returnURL [value] => 485_info_configuration.php ) [1] => Array ( [name] => Port [value] => 4 ) [2] => Array ( [name] => Type [value] => PowerCtrlStatus ) [3] => Array ( [name] => 1_PowerCtrlStatus [value] => 1 ) [4] => Array ( [name] => 1_OutSingalStatus [value] => 0 ) [5] => Array ( [name] => 2_PowerCtrlStatus [value] => 1 ) [6] => Array ( [name] => 2_OutSingalStatus [value] => 0 ) [7] => Array ( [name] => 3_PowerCtrlStatus [value] => 1 ) [8] => Array ( [name] => 3_OutSingalStatus [value] => 0 ) [9] => Array ( [name] => 4_PowerCtrlStatus [value] => 1 ) [10] => Array ( [name] => 4_OutSingalStatus [value] => 1 ) [11] => Array ( [name] => 5_PowerCtrlStatus [value] => 1 ) [12] => Array ( [name] => 5_OutSingalStatus [value] => 0 ) [13] => Array ( [name] => 6_PowerCtrlStatus [value] => 1 ) [14] => Array ( [name] => 6_OutSingalStatus [value] => 0 ) [15] => Array ( [name] => 7_PowerCtrlStatus [value] => 1 ) [16] => Array ( [name] => 7_OutSingalStatus [value] => 1 ) [17] => Array ( [name] => 8_PowerCtrlStatus [value] => 1 ) [18] => Array ( [name] => 8_OutSingalStatus [value] => 0 ) [19] => Array ( [name] => 9_PowerCtrlStatus [value] => 1 ) [20] => Array ( [name] => 9_OutSingalStatus [value] => 1 ) [21] => Array ( [name] => 10_PowerCtrlStatus [value] => 1 ) [22] => Array ( [name] => 10_OutSingalStatus [value] => 0 ) [23] => Array ( [name] => 11_PowerCtrlStatus [value] => 1 ) [24] => Array ( [name] => 11_OutSingalStatus [value] => 1 ) [25] => Array ( [name] => 12_PowerCtrlStatus [value] => 1 ) [26] => Array ( [name] => 12_OutSingalStatus [value] => 0 ) ) )

 

3、

     1、var sPost = 'Port:"'+arr[0]+'",Type:"'+arr[1]+'",'+sParam+':"'+$("#"+sParam).val()+'"'; 
      $.post('485_info_configuration_submit.php', {sPost}, function(data, textStatus, xhr) {}
    
    2、
      $.post('485_info_configuration_submit.php', {Port: arr[0],Type:arr[1],val:$("#"+sParam).val()}, function(data, textStatus, xhr) {}
    

后台用POST获取到的数据分别是:

 

Array
(
    [Port] => 3
    [Type] => PowerCtrlStatus
    [val] => 1
)



Array
(
    [sPost] => Port:\"3\",Type:\"PowerCtrlStatus\",3_PowerCtrlStatus:\"1\"
)

 

posted @ 2016-03-25 10:46  cogitoergosum  阅读(248)  评论(0编辑  收藏  举报