使用Javascript Ajax 通信操作JSON数据 [下]
上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象。
前台代码shizhan.html:
<!DOCTYPE html>
<html>
<head>
<title>json数据获取</title>
<meta charset="utf-8">
<script src='jquery.js'></script>
<script type="text/javascript">
$("document").ready(function() {
var url="shizhan.php";
var data={"do":"first"}; $.getJSON(url,data,function(res){
$("#username").val(res.username);
$("#password").val(res.password);
}); var data={"do":"second"};
$.getJSON(url,data,function(res) {
$("#members").val(res.third.members.username);
}); var data={"do":"third"};
$.getJSON(url,data,function(res){
$("#address").val(res.address[1].username);
}); });
</script>
</head>
<body>
<h2>一位数组json数据显示</h2>
<input type="text" name="username" id="username" /><br/>
<input type="password" name="password" id="password"> <h2>二位数组json数据显示</h2>
<textarea id="members"></textarea> <h2>三位数组json数据显示</h2>
<textarea id="address"></textarea>
</body>
</html>
这里我们用$.getJSON(url,data,callback)来获得我们从url处返回的json格式的数据,注意,$.getJSON()中的JSON必须大写。
并且这时我们传递给后台的参数不把它放在url的末尾,而是直接放在新定义的data变量中。所以后台程序获取参数时不再使用$_GET[]了,而是使用$_REQUEST[].
还有一点值得提醒的是,在将返回得到的json格式的数据时,如果后台的二位数组中的第一位是['1'],则我们在前台赋给变量中的数据的格式应为上述代码中的
$("#address").val(res.address[1].username); ,而不是 $("#address").val(res.address.1.username); ,而如果后台的二维或者是三维数组的第一位是['third']等英文时,则可用上述代码中的 $("#members").val(res.third.members.username); .
后台代码:
<?php $do=$_REQUEST['do']; $member['username']='慕课网';
$member['password']='mukewang'; $members['1']['username']='张三';
$members['1']['password']='zhangsan';
$members['2']['username']='李四';
$members['2']['password']='lisi';
$members['2']['address']='朝阳区'; $members['third']['members']['username']='我是第三个用户名'; class addressClass{
public $address = array(); public function setAddress($array) {
$this->address=$array;
} public function getAddrss() {
return $this->address;
}
} $addressObj = new addressClass(); $addressObj->setAddress($members); switch($do) {
case 'first' : echo json_encode($member);break; case 'second': echo json_encode($members);break; case 'third' : echo json_encode($addressObj);break;
}
后台代码中我们使用json_encode()函数来将一位数组,二维数组,三位数组和对象转换为json格式的数据。
使用Javascript Ajax 通信操作JSON数据 [下]的更多相关文章
- 使用Javascript Ajax 通信操作JSON数据 [上]
以前只是知道json的格式而已,也做过的是从数据库获得数据然后弄成json的格式然后赋给HighCharts生成曲线,先把数据库的数据使用array()函数转换成数组,然后使用json_encode( ...
- 使用Ajax方式POST JSON数据包(转)
add by zhj: 用ajax发送json数据时注意两点, 第一,使用JSON.stringify()函数将data转为json格式的字符串,如下 data: JSON.stringify({ ...
- Jquery重新学习之五[操作JSON数据]
Jquery操作Json格式的数据在我们平时的项目中也经常运用:最近看Jquery权威指南中就有一章节是对这方面的整理总结:最后通过一个Asp.net结合一般处理程序ashx的实例,基本上能满足项目中 ...
- 前端学习——使用Ajax方式POST JSON数据包
0.前言 本文解释怎样使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择).POST JSON数据包相比标准的POST格式可读性更好 ...
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- js中如何操作json数据
一.要想熟练的操作json数据,就先要了解json数据的结构,json有两种结构:对象和数组. 1.对象 一个对象以“{”开始,“}”结束.每个“名称”后跟一个“:”:“‘名称/值’ 对”之间使用“, ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- Java操作JSON数据(4,end)--Jackson操作JSON数据
Jackson是SpringBoot默认使用的JSON处理库,它可以轻松的将Java对象转换成JSON对象,同样也可以将JSON转换成Java对象.本文介绍下Jackson的基本使用方法,包括序列化和 ...
- Java操作JSON数据(3)--fastjson操作JSON数据
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...
随机推荐
- 利用CocoaLumberjack框架+XcodeColors插件,调试输出有彩色的信息
效果如下: 步骤: 1. 安装Xcode插件:XcodeColors(方法请参考这里) 2. 为项目添加 CocoaLumberjack 框架(方法请参考这里) 3. 添加代码 (1) 为项目添加 p ...
- ASP.NET MVC中加入Web Forms
目的 有时候在一个ASP.NET MVC项目发布之后,又需要添加动态页面,同时又不想重新在源代码中添加view,那么这时候就要用上Web Forms了. 步骤 1.在项目根目录添加一个文件夹,在文件夹 ...
- Git_学习_07_ 推送修改到远端
一.操作流程 多人协作时,若自己的本地代码有了修改,想提交自己的代码,就需要按照以下步骤操作: 1.确认修改正确 使用以下命令,查看有哪些是自己未提交的代码 git status 2.拉取远程最新代码 ...
- svn默认地址老发生改变,记下默认路径
C:\Users\Administrator\AppData\Roaming\Subversion
- Codeforces Round #276 (Div. 2)A. Factory(数论)
这道题可以暴力的一直按要求的方法去做,做1000000次还不能整除m就认为永远不能整除m了(m不超过100000,循环1000000次比较安全了已经).这种方法可以AC. 下面深入的分析一下到底循环多 ...
- Chrome MarkDown Preview Plus
/************************************************************************** * Chrome MarkDown Previe ...
- 转载:java电商面试介绍(不完整版)
转载: http://blog.csdn.net/xue_mind/article/details/52959107
- BZOJ3302: [Shoi2005]树的双中心
BZOJ3302: [Shoi2005]树的双中心 https://lydsy.com/JudgeOnline/problem.php?id=3302 分析: 朴素算法 : 枚举边,然后在两个连通块内 ...
- COGS 2259 异化多肽 —— 生成函数+多项式求逆
题目:http://cogs.pro:8080/cogs/problem/problem.php?pid=2259 如果构造生成函数是许多个 \( (1+x^{k}+x^{2k}+...) \) 相乘 ...
- LR录制https协议设置方法
1.New一个脚本,option --> port mapping --> 选择第二个 WinNet level data 2.Run-time Setting --> Prefe ...