Heim > Backend-Entwicklung > PHP-Tutorial > php的json格式和js跨域调用的代码

php的json格式和js跨域调用的代码

WBOY
Freigeben: 2016-07-25 09:03:38
Original
1038 Leute haben es durchsucht
  1. function jsontest()

  2. {
  3. var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage':'24'}];
  4. alert(json[1].username);
  5. var json2 = [['crystal','20'],['candy','24']];

  6. alert(json2[0][0]);
  7. }
复制代码

这个函数,第一个alert(json[1].username); 会提示 “candy”。 json 变量是一个数组对象。所以要采用 obj.username 这样的格式来调用。 第二个 alert(json2[0][0]); 会提示 “crystal”。 json2变量是完全的一个json格式。 json和json2变量都达到了相同的效果,但json2明显要比json精简了很多。 这是 JavaScript 的json 格式。 下面来看看php中的json格式,先看一段代码:

  1. $arr = array (

  2. array (
  3. 'catid' => '4',
  4. 'catname' => '荣荣',
  5. 'meta_title' => '荣荣博客'
  6. ),
  7. array (

  8. 'catid' => '6',
  9. 'catname' => 'climber',
  10. 'meta_title' => '攀登者',
  11. )
  12. );
  13. $jsonstr = json_encode($arr);
  14. 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函数处理下。又会打印出 上面的数组。

  1. $jsonstr = json_encode($arr);
  2. $jsonstr = json_decode($jsonstr);
  3. print_r($jsonstr);
复制代码

接下来,看看php json数据和 js json数据是如何相互调用的。

新建文件 php_json.php:

  1. $arr = array (

  2. array (
  3. 'catid' => '4',
  4. 'catname' => '荣荣',
  5. 'meta_title' => '荣荣博客'
  6. ),
  7. array (

  8. 'catid' => '6',
  9. 'catname' => 'climber',
  10. 'meta_title' => '攀登者',
  11. )
  12. );
  13. $jsonstr = json_encode($arr);
  14. -----下面写在php区间之外-----
  15. var jsonstr=;
复制代码

备注:在php_json.php文件末尾 var jsonstr=; 这一句。 这是将json格式的数据赋值给 jsonstr 变量。 再建立一个文件 json.html:

复制代码

这样,在查看 json.html时,loadjson(jsonstr) 就会 提示 “荣荣”和“climber”。 这样也实现了js跨域调用。



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage