php和ajax的简单实现

巴扎黑
发布: 2016-11-24 11:04:03
原创
1487人浏览过

步骤一、新建文件夹:js,把最新的jquery.js放里边。 

步骤二、新建文件mygetjson.php,其内容为 


class custom_json { 

    /** 
     * convert array to javascript object/array 
     * @param array $array the array 
     * @return string 
     */ 
    public static function encode($array) 
    { 

        // determine type 
        if(is_numeric(key($array))) { 

            // indexed (list) 
            $output = '['; 
            for($i = 0, $last = (sizeof($array) - 1); isset($array[$i]); ++$i) { 
                if(is_array($array[$i])) $output .= self::encode($array[$i]); 
                else  $output .= self::_val($array[$i]); 
                if($i !== $last) $output .= ','; 
            } 
            $output .= ']'; 

        } else { 

            // associative (object) 
            $output = '{'; 
            $last = sizeof($array) - 1; 
            $i = 0; 
            foreach($array as $key => $value) { 
                $output .= '"'.$key.'":'; 
                if(is_array($value)) $output .= self::encode($value); 
                else  $output .= self::_val($value); 
                if($i !== $last) $output .= ','; 
                ++$i; 
            } 
            $output .= '}'; 

        } 

        // return 
        return $output; 

    } 

    /** 
     * [internal] format value 
     * @param mixed $val the value 
     * @return string 
     */ 
    private static function _val($val) 
    { 
        if(is_string($val)) return '"'.rawurlencode($val).'"'; 
        elseif(is_int($val)) return sprintf('%d', $val); 
        elseif(is_float($val)) return sprintf('%f', $val); 
        elseif(is_bool($val)) return ($val ? 'true' : 'false'); 
        else  return 'null'; 
    } 





// prints: ** try it yourself, cannot post long lines here ** 
$big_test = array( 
    array( 
        'name' => array('john', 'smith'), 
        'age' => 27, 
        'sex' => 0, 
        'height' => 180.53, 
        'is_human' => true, 
        'string' => 'hello', 
    ), 
    array( 
        'name' => array('green', 'alien'), 
        'age' => 642, 
        'sex' => null, 
        'height' => 92.21, 
        'is_human' => false, 
        'string' => 'こんにちは!', // test utf8 here 
    ) 
); 

//echo custom_json::encode($big_test);//这个用于测试其是否返回的是json数据 
echo $_get['jsoncallback'].'('.custom_json::encode($big_test).')';//用一个回调返回 
?> 



步骤三、新建测试页面test.html,其内容为 

 
  

 
        page title 
         

         
        
   
 
 
 
    
 
 
 

 
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号