ajax心得体会 json

95 篇文章 0 订阅
62 篇文章 0 订阅

写入数据时
$.post('index.php?m=Chat&a=Send_Record',{'record_str':$('#record_str').val()},function(data){
        },'application/json; charset=utf-8');

json可写为  'application/json; charset=utf-8';

post给服务器为 utf-8编码,这样一来无需在服务端转换字符,即可直接存入utf-8字段

但是返回值时 如果要用think自带的

 $this->ajaxReturn($vo, '表单数据保存成功!', 1);

或直接返回数组
 echo json_encode($json);

使用就必须使用
将'application/json; charset=utf-8'; 替换为 josn
否则数组无法被直接使用

若返回值使用'application/json; charset=utf-8';需要
var json=eval(data);
  alert(json[0]['id'])
进行自动转换


返回值使用方法

ajaxReturn()
---------------------------------------------------------------------
虚拟数组$vo
$vo['a1'] = '1234';
$vo['a2'] = '2345';

$this->ajaxReturn($vo, '表单数据保存成功!', 1);

$this->ajaxReturn($vo);

js中输出
     data = data.data;
    alert(data.a1);

-----------------------------------------------------------------------------

json_encode();
—————————————————————————

虚拟数组$json

$json = array (
  0 => 
  array (
    'id' => '13',
    'name' => '',
  ),
  1 => 
  array (
    'id' => '17',
    'name' => '',
  )
) ;

echo json_encode($json); 

此方法utf8中 中文可能会乱码 须转换输出
echo urldecode ( json_encode ($json) );  

如需详细了解字符转换请 查看 另一篇文章
ajax中与PHP json_encode中全为gb2312乱码最终解决方案

js中输出
   alert(data[0]['id']);

js输出的时候如果前端设置为 'application/json; charset=utf-8';则需要 使用强大的
eval();

var json=eval(data);

—————————————————————————

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值