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 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
var与Javascript变量隐式声明
Sep 17 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
javascript 正则表达式相关应介绍
Nov 27 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
Sep 06 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
Jan 04 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
Jun 25 Javascript
微信小程序实现点击页面出现文字
Sep 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
php学习之运算符相关概念
2011/06/09 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
关于php中一些字符串总结
2016/05/05 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
JQuery select标签操作代码段
2010/05/16 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
详解Python发送邮件实例
2016/01/10 Python
Python守护线程用法实例
2017/06/23 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
通过实例解析python and和or使用方法
2020/11/14 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
小学教育毕业生自荐信
2013/11/18 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
小学母亲节活动方案
2014/03/14 职场文书
股份合作协议书
2014/04/12 职场文书