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 相关文章推荐
20款非常优秀的 jQuery 工具提示插件 推荐
Jul 15 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
Apr 24 Javascript
js防止页面被iframe调用的方法
Oct 30 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
JS获取及验证开始结束日期的方法
Aug 20 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
Jul 14 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
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 max_execution_time执行时间问题
2011/07/17 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python框架django基础指南
2016/09/08 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
Python requests库用法实例详解
2018/08/14 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
python实现ip地址的包含关系判断
2020/02/07 Python
python绘制动态曲线教程
2020/02/24 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
使用Python构造hive insert语句说明
2020/06/06 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
法律专业个人实习自我鉴定
2013/09/23 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
爱心捐款活动总结
2015/05/09 职场文书