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 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 Javascript
jquery 添加节点的几种方法介绍
Sep 04 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
layui前段框架日期控件使用方法详解
May 19 Javascript
详解原生js实现offset方法
Jun 15 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
Nov 07 Javascript
jQuery实现简单飞机大战
Jul 05 jQuery
JS倒计时两种实现方式代码实例
Jul 27 Javascript
使用compose函数优化代码提高可读性及扩展性
Jun 16 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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python 实现简单的电话本功能
2015/08/09 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
Flask之flask-script模块使用
2018/07/26 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
不打扫卫生检讨书
2014/02/12 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
玄武湖导游词
2015/02/05 职场文书
2015年市场部工作总结
2015/04/30 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
python not运算符的实例用法
2021/06/30 Python
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫