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 相关文章推荐
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
JavaScript前补零操作实例
Mar 11 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
Angular利用trackBy提升性能的方法
Jan 26 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
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php-msf源码详解
2017/12/25 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
layUI实现前端分页和后端分页
2019/07/27 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
解决python 输出是省略号的问题
2018/04/19 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
小学教师的个人自我鉴定
2013/10/24 职场文书
会计专业应届生求职信
2013/11/24 职场文书
公司端午节活动方案
2014/02/04 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
php将xml转化对象的实例详解
2021/11/17 PHP
JavaScript实现两个数组的交集
2022/03/25 Javascript