您的位置:首页 > Web前端 > JQuery

Json (php+jquery)

2017-02-21 16:16 239 查看
相关文章介绍Json:

http://www.cnblogs.com/snowinmay/archive/2013/05/26/3099799.html

通过AJAX进行理解:

$(function(){
$.ajax({
type : "POST",
url : "json.php",
data : {
'name' : "suoz",
'email' : "Web_wly0710@163.com",
'age' : 20
},
// dataType : 'json',
success : function(data){
alert(data);
var arr = $.parseJSON(data);
alert(arr['number']['gl']);
},
});
});


PHP接收数据:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$age = $_POST['age'];

$arr = array(
'name' => $name,
'email' => $email,
'age' => $age,
'number' => array(
'1' => '111',
'2' => true,
'gl' => false
),
'text' => array(1,2,3)
);

$str = array($name,$email,$age);

$arr = json_encode($arr);

$str = json_encode($str);

print_r($arr);

?>


索引数组str:
["suoz","Web_wly0710@163.com","20"]


因为在PHP中str为索引数组,在json格式中编码为[]

关联数组arr : `{"name":"suoz","email":"Web_wly0710@163.com","age":"20","number":{"1":"111","2":true,"gl":false},"text":[1,2,3]}`


因为在PHP中arr为关联数组,而在javascript中没有关联数组这么一说,此时用{}对象表示。

总结:

如果在ajax中使用dataType:’Json’,在ajax返回结果后不需要在对返回的数据进行解析$.parseJSON()。

在PHP中使用了数组,而通过json_encode()将数组编码为json格式(JS字符串形式),在将该字符串形式返回给客户端,此时客户端只需要解析,即将js字符串形式转换为js对象形式,在通过调用即可。

相对XML来说,JSON简洁方便,不像xml中还需要树和结点的遍历。

array( 1 , 2 , 3 ) => [ 1 , 2 , 3 ]

array(“1”,”2”,”3”) => [“1”,”2”,”3”]

最后一个重点,一定要在localhost下ajax,不要像我一样粗心,一直返回php的源代码,死活找不到错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery json