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 相关文章推荐
JQuery实现自定义对话框的代码
Jun 15 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
vue的传参方式汇总和router使用技巧
May 22 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
vue瀑布流组件实现上拉加载更多
Mar 10 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
用PHP实现维护文件代码
2007/06/14 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
ext jquery 简单比较
2010/04/07 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
JS中数据结构之栈
2019/01/01 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
python 读取.nii格式图像实例
2020/07/01 Python
python实现自动清理重复文件
2020/08/24 Python
介绍一下OSI七层模型
2012/07/03 面试题
信息管理员岗位职责
2013/12/01 职场文书
小学运动会演讲稿
2014/08/25 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript