首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jQuery的课程:PHP数组传递JSON

2012-12-15 
jQuery的教程:PHP数组传递JSONJSON是什么?JSON代表“javascript对象符号”,引用:“被广泛誉为的XML的浏览器继

jQuery的教程:PHP数组传递JSON
JSON是什么?JSON代表“javascript对象符号”,引用:“被广泛誉为的XML的浏览器继任者,JSON渴望只不过是一个简单的、优雅的数据格式进行信息交换的浏览器和服务器之间,在执行这个简单任务将引领下一版本的万维网本身。”所以基本上认为JSON是一个PHP和Javascript之间的联结语言(在我们的例子中,jQuery)。所以当构建web页面(与jquery)我们可以使用ajax调用(无论是负载,$。ajax或其他)去从客户端到服务器,然后我们使用JSON去从服务器返回到客户机。现在你可能会问,我们不能使用json在两个方向吗?是的我们可以,但因为我们使用jquery,它已经发送到服务器的信息很好地格式化在$ _GET或$ _POST格式。 步骤1 -设置php文件 如果使用json,设置php文件变得更加容易。 <?php if ($_GET['action']=='getlink'){ $ld=loadInfo ($_GET['link']);echo $ld;} function loadInfo ($lnk){ switch ($lnk) {case 1:$list['name']='name john';$list['desc']='my desc fsdfsd';break;case 2:$list['name']='orians gate';$list['desc']='bla for bla';break;case 3:$list['name']='space 1999';$list['desc']='whos there anyone';break;}//正确格式用于javascript$str=json_encode($list); return $str;}?> 注意,我的数组在有名称" $ list[' name ']”,我也改变了这个:$ str = json_encode($list);这一行需要我们的php数组,并将它作为一个json字符串。我已经说过我在先前的教程中,javascript不支持关联数组,但是,我们可以使用json来模拟他们。 步骤2 - HTML 开启测试。html和替换所有代码: <style type="text/css">#ajaxBox { background-color:#FFFF99; border:thin solid #FF0000; width:70%; height:50px;}#formHeader{text-align:center; font-size:18px; color:#0000FF;}#myform{text-align:center;}</style> <script language="javascript" src="jquery-1.3.2.min.js"></script><script language="javascript" src="jquery.delay.js"></script> <script language="javascript">$(document).ready(function() { //Finish loading the entire page before processing any javascript $("#hidden").hide();$("#textfield").val("");$("#textarea").val(""); $("#mylist a").bind("click", function() {var hol=$(this).attr('myval');var formContent ="action=getlink&link="+hol; $.getJSON("myserv.php",formContent, function(json){$("#textfield").val(json.name);$("#textarea").val(json.desc);$("#formHeader").text("Edit");$("#ajaxBox").text("All info loaded OK");}); //结束json }); //端点击 }); //最终准备好了函数</script> <div id="ajaxBox"></div> <div id="mylist"><ul><li><a href="#" myval="1">cool site</a></li><li><a href="#" myval="2">new name</a></li><li><a href="#" myval="3">great space</a></li></ul></div> <div id="myform"><div id="formHeader">Add New</div><form name="form1" method="post" action=""><label>Name<input type="text" name="textfield" id="textfield"></label><br /><br /><label>Desc<textarea name="textarea" id="textarea" cols="45" rows="5"></textarea></label></form></div> 现在尝试运行该页面。不错,不是吗?让我解释的变化。一段代码,真正重要的是这样的: $.getJSON("myserv.php",formContent, function(json){$("#textfield").val(json.name);$("#textarea").val(json.desc);$("#formHeader").text("Edit");$("#ajaxBox").text("All info loaded OK");}); //结束json 我现在使用jquery函数,做一个ajax调用和返回数据作为json对象($ getjson)。这些数据然后被放置在一个变量称为“json”,模拟一个关联数组。注意到这一行: $("#textfield").val(json.name); 我分配形式元素“#textfield”与“json.name”。酷的一件事关于json是,除了模拟关联数组,您可以编写它们深达你想要的,为例: $list['country']='england';$list['country']['city']='london';$list['country']['city']['zip code']='12345';etc 现在我们是检索正确格式化的数据从服务器,我们现在可以生成html在一个完全不同的方式. 步骤3——回顾 所以现在我们看了几个方面做的ajax调用和jquery函数,让我们简要复习其中的一些。 $.load——做一个ajax调用并返回的html。 $.getJSON——做一个ajax调用并返回的数据格式化为json。 $.change——检测变化在一个选择器。 .bind(“点击”,函数()),等待一个点击一个选择器 $.hide——隐藏一个选择器如div,p,等等 $.show——显示一个选择器

站长行业门户(www.software8.co)文章,希望大家可以留言建议

热点排行