zoukankan      html  css  js  c++  java
  • php返回json,xml,JSONP等格式的数据

    返回json数据:

    header('Content-Type:application/json; charset=utf-8');
    $arr = array('a'=>1,'b'=>2);
    exit(json_encode($data));

    注意:1.如果不加header直接输出json_encode的值的话,返回的是字符串不是对象,js那边就需要先eval('('+data+')')转化为对象,在取值

       2.使用exit返回值,如果用return 或者echo 返回的还是配置文件中指定的类型(默认text/html);

    返回xml数据:

    header('Content-Type:text/xml; charset=utf-8');
    exit($xml);

    返回jsonp数据:

    $arr = array('a'=>1, 'b'=>2, 'c'=>3);
    $json = json_encode($arr);
    $callback = $_GET['callback'];
    exit($callback."($json)");
    //注意callback是js传过来的参数名称

    顺便说下thinkphp如何返回各种数据: 

    json_encode有个参数禁止unicode编码

    JSON_UNESCAPED_UNICODE

    json_encode('中文',JSON_UNESCAPED_UNICODE);

    默认中文编码

    header('Content-Type:application/json; charset=gbk');

    $data = $db->select($sql);
    $data = json_encode($data);
    $data=preg_replace("#\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'gbk', pack('H4', '\1'))", $data);

     exit($data);

  • 相关阅读:
    事务和异常处理
    普通三层结构示例
    Viewstate与Static
    oracle 9i 的数据类型
    XSD数据集
    ASP.NET中的错误处理和程序优化
    PL/SQL程序设计
    ASP.NET 2.0中的异步页面
    Oracle中RowNum的用法
    .NET单元测试
  • 原文地址:https://www.cnblogs.com/cangqinglang/p/10169984.html
Copyright © 2011-2022 走看看