计算机网络/计算机科学与应用/系统/运维/开发

tp5-ajax表单提交

模板文件:

<!DOCTYPE html>   
<html>       
   <head>           
    <meta charset="UTF-8">           
  <title></title>           
  <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>           
  <script>                              
    function ajaxPost(){       
        //serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法            
       var formData = $("#myform").serialize();  
       $.ajax({                       
             type:"post",                       
             url:"{:url('Index/index/test')}",                       
             data:formData,//这里data传递过去的是序列化以后的字符串                       
             success:function(data){                           
                 $("#content").append(data);//获取成功以后输出返回值                       
             }                   
       });               
    }                          
  </script>       
  </head>       
 <body>                      
   <form id="myform"><!--这里给表单起个id用于获取表单并序列化-->               
      <input type="text" name="mess" />               
      <input type="text" name="id" />               
      <button onclick="ajaxPost()">---------</button>           
   </form>           
   <div id="content">  </div>       
 </body>   
</html>

serialize()为jquery序列化方法


public function create() {     
    $data['msg'] = '我是龙哥';     
    $data['tel'] = '17630065407';     
    // json 对象格式 返回数据 
    // return json($data);     
    // xml 格式 返回数据 
    // return xml($data,$code=200);     
    // json 对象格式 返回数据     
    return ['data'=>$data,'code'=>200,'message'=>'操作完成']; 
}



<script>     
$(function () {         
    $.ajax({             
        type: 'get',             
        url: '/add', //            
        dataType: 'xml',  
        // xml 格式 //            
        dataType: 'json',   
        // json 格式 //            
        'default_return_type':'json',  // 默认返回数据             
        success: function (data) {                 
        alert(data);  // json 对象                 
        alert(data.data.msg); // 获取json 对象中的某个值                   
        alert(JSON.stringify(data));  // 将json对象 转成json字符串                 
        console.log(data);
                     },             
        error: function () {                 
            alert('AJAX请求失败!');            
         }         
    });     
}); 
</script>


ajax 返回数据,alert后显示object类型,如何处理

做ajax调用webapi接口的时候,用的是fidder调试的。

能看到返回的数据是xml,类似于json格式,用alert(data),始终都是object类型的。

但是在读取值的时候,始终不知道该如何取值,试了N种方式取值还是取不到。

最后用了json对象转json字符串:alert(JSON.stringify(data));直接可以看到json字符串了,就一下明白该如何取值了。 

如果是object对象的话,应该就可以直接用data.属性,获取值。


参考:https://blog.csdn.net/JXL9910/article/details/80596984





tp-ajax

若无人替你披荆斩棘,那就独自前行栉风沐雨。

评论

^