jQuery基于ajax操作json数据简单示例


Posted in Javascript onJanuary 05, 2017

本文实例讲述了jQuery基于ajax操作json数据的方法。分享给大家供大家参考,具体如下:

jQuery Ajax 实例演示

jQuery Ajax 的三种格式,在与后台进行数据交互的时候可以是json格式也可以是xml格式,本人建议将数据转化成json格式。

Xml与json的比较

1、可读性

JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。

2、可扩展性

XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。

3、编码难度

XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工 具也能写出JSON的代码,可是要写好XML就不太容易了。

4、解码难度

XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。

<html>
<head>
<title>jQuery Ajax 实例演示</title>
</head>
<script language="javascript" src="../lib/jquery.js"></script>
<script language="javascript">
$(document).ready(function ()
{
  $('#send_ajax').click(function (){
   var params=$('input').serialize(); //序列化表单的值
   $.ajax({
    url:'ajax_json.php', //后台处理程序
    type:'post',     //数据发送方式
    dataType:'json',   //接受数据格式
    data:params,     //要传递的数据
    success:update_page //回传函数(这里是函数名)
   });
  });
//$.post()方式:
$('#test_post').click(function (){
  $.post(
   'ajax_json.php',
   {
    username:$('#input1').val(),
    age:$('#input2').val(),
    sex:$('#input3').val(),
    job:$('#input4').val()
   },
   function (data) //回传函数
   {
    var myjson='';
    eval('myjson=' + data + ';');
    $('#result').html("姓名:" + myjson.username + "<br/>工作:" + myjson['job']);
   }
  );
  });
//$.get()方式:
$('#test_get').click(function ()
 'ajax_json.php',
   {
    username:$("#input1").val(),
    age:$("#input2").val(),
    sex:$("#input3").val(),
    job:$("#input4").val()
   },
   function(data) //回传函数
   {
    var myjson='';
    eval("myjson=" + data + ";");
    $("#result").html(myjson.job);
   }
  );
});
});
function update_page (json) //回传函数实体,参数为XMLhttpRequest.responseText
{
var str="姓名:"+json.username+"<br />";
str+="年龄:"+json.age+"<br />";
str+="性别:"+json.sex+"<br />";
str+="工作:"+json.job+"<br />";
str+="追加测试:"+json.append;
$("#result").html(str);
}
</script>
<body>
<div id="result" style="background:orange;border:1px solid red;width:300px;height:200px;"></div>
<form id="formtest" action="" method="post">
  <p><span>输入姓名:</span><input type="text" name="username" id="input1" /></p>
  <p><span>输入年龄:</span><input type="text" name="age" id="input2" /></p>
  <p><span>输入性别:</span><input type="text" name="sex" id="input3" /></p>
  <p><span>输入工作:</span><input type="text" name="job" id="input4" /></p>
</form>
<button id="send_ajax">提交</button>
<button id="test_post">POST提交</button>
<button id="test_get">GET提交</button>
</body>
</html>

PHP 文件 ajax_json.php:

<?php
//$arr = $_POST; //若以$.get()方式发送数据,则要改成$_GET.或者干脆:$_REQUEST
$arr = $_REQUEST;
$arr['append'] = '测试字符串';
//print_r($arr);
$myjson = my_json_encode($arr);
echo $myjson;
function my_json_encode($phparr)
{
  if(function_exists("json_encode"))
  {
   return json_encode($phparr);
  }
  else
  {
   require_once 'json/json.class.php';
   $json = new Services_JSON;
   return $json->encode($phparr);
  }
}
?>
Javascript 相关文章推荐
判断浏览器的javascript版本的代码
Sep 03 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
原生js操作checkbox用document.getElementById实现
Oct 12 Javascript
jquery判断元素的子元素是否存在的示例代码
Feb 04 Javascript
移动适配的几种方案(三种方案)
Nov 25 Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 Javascript
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
vue拖拽排序插件vuedraggable使用方法详解
Aug 21 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
一篇文章带你从零快速上手Rollup
Sep 07 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 #Javascript
如何提高Dom访问速度
Jan 05 #Javascript
AngularJS中run方法的巧妙运用
Jan 04 #Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 #Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 #Javascript
基于jQuery实现选项卡效果
Jan 04 #Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 #Javascript
You might like
php4的session功能评述(二)
2006/10/09 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
php计算整个目录大小的方法
2015/06/01 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
Webkit的跨域安全问题说明
2011/09/13 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
详解Vite的新体验
2021/02/22 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
查看python下OpenCV版本的方法
2018/08/03 Python
python反编译学习之字节码详解
2019/05/19 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
会计专业个人求职信范文
2014/01/08 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
超市创业计划书
2014/04/24 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
复试通知单模板
2015/04/24 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
天气温馨提示语
2015/07/14 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书