主页 » 胡同 » jQuery中的$.getJSON

jQuery中的$.getJSON

2013-07-202条评论
jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数。原型如下:
jQuery.getJSON( url, [data], [callback] )  跨域加载JSON数据。
url:     发送请求的地址
data : (可选) 待发送key/value参数
callback: (可选) 载入成功时的回调函数
 
主要用于也可以发送参数给服务器[可选],获取后台处理后数据。简单示例:
服务器脚本,返回JSON数据:
getsave.php
 
require_once(‘../Connections/conn.php’); 
if (isset($_GET[‘g_id’])&&isset($_GET[‘de_id’])) {
  $g_id=trim($_GET[‘g_id’]);
  $de_id=intval($_GET[‘de_id’]);
  $query=sprintf(“SELECT amount  FROM tb_save WHERE g_id=’$g_id’ AND de_id=’$de_id'”);   
  $Recordset1 = mysql_query($query, $conn) or die(mysql_error());
  $row= mysql_fetch_assoc($Recordset1);  
 $arr=array(“amount”=>$row[‘amount’]); 
$jarr=json_encode($arr); 
echo $jarr;
}
 
注意两点:
第一:在返回客户端之前,先用PHP函数json_encode将要返回的数据进行编码。
第二:返回到客户端用的是echo,而不是return。
 
下面是核心的客户端代码:
index.html
<script type=”text/javascript” src=”jquery-1.4.2.min.js”></script>
<script type=”text/javascript”>
function getjs() 
  $.getJSON(“getsave.php”, {g_id:$(“#g_id”).val(),de_id:$(“#de_id”).val()}, function(response){
                alert(response.amount);
                 
  }); 
}
 </script>

 

 <select name=”g_id” id=”g_id”>
 <option value=”” >请选择</option>
 <option value=”11001″>车控板</option>
 <option value=”11002″>字符叠加板</option>
 </select>

<select name=”de_id” id=”de_id” onchange=”javascript:getjs();”>
 <option value=”” >请选择</option>
 <option value=”1″>广州仓库</option>
 <option value=”2″>惠州仓库</option>

 </select> 
______________________________华丽分隔线_____________________________________________
数据库表代码:

CREATE TABLE `tb_save` (
  `g_id` varchar(10) NOT NULL COMMENT ‘物品编号’,
  `de_id` tinyint(4) NOT NULL COMMENT ‘仓库编号’,
  `amount` int(11) default NULL COMMENT ‘库存数量’,
  PRIMARY KEY  (`g_id`,`de_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

注意一点:
由于在PHP中是用JSON编码返回值,所以此处必须用getJSON去调用PHP文件,从而获取数据。同时可以注意到,经由getJSON得到的数据已经变成了一个对象数组,可以用response.amount很直观的获取返回值。

本文原创,转载注明出处。。takchun 2013-7-4

相关文章

  1. Pingback: cheap jordan shoes

  2. Pingback: jordans cheap