php中返回JS数据在JS中解析.docx_第1页
php中返回JS数据在JS中解析.docx_第2页
php中返回JS数据在JS中解析.docx_第3页
php中返回JS数据在JS中解析.docx_第4页
php中返回JS数据在JS中解析.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一JSON简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯 (包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。JSON的详细解释请访问JSON官网,这个网站上有图有真相,建议认真学习下。另外,JSON在维基百科上的介绍也很详细,可以访问一下。二PHP中JSON编码在PHP中生成JSON字符串是非常容易的,直接使用json_encode()函数就可以将PHP数据转换成JSON字符串,此函数原形如下:string json_encode ( mixed $value )这个函数可以为任何数据进行转码,除了resource类型。三Javascript 解析JSON有二种方法:一种是直接使用eval()函数。这种方法最快速。然而由于eval方法同样可以执行任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全性问题。比如下面这个例子就会导致页面被重定向:html view plaincopy1. 2. 3. 4. 一段使用eval()解释会导致页面被重定向的JSON数据5. 6. 7. /jquery通过AJAX方式得到JSON数据8. $(document).ready(function()9. vardangerJson=message:(function()window.location=/morewindows;)();10. /eval(dangerJson);/会重定向11. varjsonArray=JSON.parse(dangerJson);/会报错-无效字符12. );13. 14. 15. 16. 一段使用eval()解释会导致页面被重定向的JSON数据17. 18. 第二种方法可以防止不安全代码出现通过浏览器原生支持的JSON.parse(str)方法读取JSON数据, 该方法采用解析器验证读入的代码是否真的是JSON代码,这样就提供了较好的安全性。但是,由于这是用模拟的方式读取,速度上会比eval()慢。四JSON实例下面以一个实例来解释数据是如何被编码成JSON字符串,JSON字符串又是如何在javascript中解析使用的,程序分为json1.php及json1.html。程序还要引用Smarty、JQuery及JSON库文件。1json1.phpphp view plaincopy1. array(6. title=PHP访问MySql数据库初级篇,7. link=/morewindows/article/details/71023628. ),9. 002=array(10. title=PHP访问MySql数据库中级篇Smarty技术,11. link=/morewindows/article/details/709464212. ),13. 003=array(14. title=PHP访问MySql数据库高级篇AJAX技术,15. link=/morewindows/article/details/708652416. ),17. );18. 19. $tpl_article_json=json_encode($tpl_article_array);20. $tpl=newSmarty();21. $tpl-assign(article_array,$tpl_article_array);22. $tpl-assign(article_json,$tpl_article_json);23. $tpl-display(json1.html);24. ?2json1.html html view plaincopy1. 2. 3. 4. 使用json5. 6. 7. 8. $(document).ready(function()9. varg_jsonstr=JSON.parse($article_json);/通过JSON.parse()解析JSON字符串10. $(div).mouseenter(function()/mouseentermouseover11. varthisId=$(this).attr(id);12. varjsonid=thisId.substring(thisId.lastIndexOf(_)+1,thisId.length);13. 14. $(#article_link).css(position,absolute);15. $(#article_link).css(left,20px);16. $(#article_link).css(top,$(this).offset().top+$(this).height();17. 18. $(#article_link).html(链接地址+g_jsonstrjsonidlink);19. $(#article_link).slideDown(fast);20. $(this).css(background-color,red);21. );22. $(div).mouseleave(function()/mouseleavemouseout23. $(#article_link).hide();24. $(this).css(background-color,yellow);25. );26. );27. 28. 29. div30. 31. font-family:sans-serif;32. 33. 34. 35. 36. for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论