海妖 发表于 2015-2-3 23:30:05

PHP网页编程之PHP json格局和js json格局-js跨域挪用...

HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。   
收拾整顿一个json格局的例子,和php json格局与js json之间的挪用(传说中的js跨域挪用)。
先看一个js函数
1 function jsontest() 2 { 3   var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage':'24'}]; 4   alert(json.username); 5   6   var json2 = [['crystal','20'],['candy','24']]; 7   alert(json2); 8 }这个函数,第一个alert(json.username); 会提醒 “candy”。 json 变量是一个数组对象。所以要采取 obj.username 如许的格局来挪用。
第二个 alert(json2); 会提醒 “crystal”。 json2变量是完整的一个json格局。 json和json2变量都到达了不异的后果,但json2分明要比json精简了良多。
这是 JavaScript 的json 格局。
上面咱们来看看php中的json格局。
仍是先看一段代码
01 $arr = array ( 02   array ( 03       'catid' => '4', 04       'catname' => '程程', 05       'meta_title' => '程程博客' 06   ), 07   08   array ( 09       'catid' => '6', 10       'catname' => 'climber', 11       'meta_title' => '攀爬者', 12   ) 13 ); 14 $jsonstr = json_encode($arr); 15 echo $jsonstr;这段代码中,$arr是一个数组,咱们采取 json_encode 将$arr 转换为了 json 格局 。
这段代码会输入:
[{"catid":"4","catname":"\u7a0b\u7a0b","meta_title":"\u7a0b\u7a0b\u535a\u5ba2"},{"catid":"6","catname":"climber","meta_title":"\u6500\u767b\u8005"}]
这就是php关于json数据的处置。
关于json数据,php 也能够采取 json_decode()函数将json数据转换成 数组 。
好比 上述代码中,咱们采取json_decode函数处置下。又会打印出 下面的数组。
$jsonstr = json_encode($arr);
$jsonstr = json_decode($jsonstr);
print_r($jsonstr);
接上去,咱们看看,php json数据和 js json数据若何互相挪用。
咱们新建一个 php_json.php 文件
代码以下:
01 $arr = array ( 02   array ( 03       'catid' => '4', 04       'catname' => '程程', 05       'meta_title' => '程程博客' 06   ), 07   08   array ( 09       'catid' => '6', 10       'catname' => 'climber', 11       'meta_title' => '攀爬者', 12   ) 13 ); 14 $jsonstr = json_encode($arr); 15 -----上面写在php区间以外----- 16 var jsonstr=< ? = $jsonstr ? >;PS:在php_json.php文件末尾 var jsonstr=< ? = $jsonstr ? >; 这一句。 这是将json格局的数据赋值给 jsonstr 变量。
咱们再创立一个 json.html 文件
代码以下:
01 <script type="text/javascript" src="php_json.php"></script><scripttype="text/javascript" language="javascript"> 02 function loadjson(_json) 03 { 04if(_json) 05{ 06for(var i=0;i<_json.length;i++) 07{ 08alert(_json.catname); 09} 10} 11 } 12   13 loadjson(jsonstr) 14 </script>如许,咱们在检查 json.html的时分,loadjson(jsonstr) 就会 提醒 “程程”和“climber”
如许也完成了js跨域挪用。
会HTML吗?会,我能编好几个大表格排板的网页啦!

灵魂腐蚀 发表于 2015-2-3 23:55:20

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

莫相离 发表于 2015-2-9 07:36:09

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

冷月葬花魂 发表于 2015-2-25 08:52:20

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

飘飘悠悠 发表于 2015-3-4 09:35:27

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

仓酷云 发表于 2015-3-4 11:24:27

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

变相怪杰 发表于 2015-3-7 20:08:19

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

小女巫 发表于 2015-3-9 00:30:56

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

山那边是海 发表于 2015-3-15 07:41:11

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

admin 发表于 2015-3-20 09:26:43

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

深爱那片海 发表于 2015-3-21 14:16:21

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

柔情似水 发表于 2015-3-24 02:32:08

本文当是我的笔记啦,遇到的问题随时填充

老尸 发表于 2015-3-28 09:46:16

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

小妖女 发表于 2015-4-5 10:35:19

当然这种网站的会员费就几十块钱。

只想知道 发表于 2015-4-6 09:53:20

基础有没有对学习php没有太大区别,关键是兴趣。

乐观 发表于 2015-4-14 06:14:02

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

若相依 发表于 2015-4-21 06:23:02

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

分手快乐 发表于 2015-6-9 22:14:28

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

飘灵儿 发表于 2015-6-20 20:52:36

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

愤怒的大鸟 发表于 2015-6-25 22:29:41

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页: [1]
查看完整版本: PHP网页编程之PHP json格局和js json格局-js跨域挪用...