模板文件:
<!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