您好,欢迎访问一九零五行业门户网

php和ajax的简单实现

步骤一、新建文件夹:js,把最新的jquery.js放里边。
步骤二、新建文件mygetjson.php,其内容为
<?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,其内容为
<html> 
   <head> 
        <title>page title</title> 
        <meta charset="utf-8">
<script type="text/javascript" src="js/jquery-1.6.3.min.js"></script> 
       <script type="text/javascript"> 
    $(function(){ 
     $('#btn').click(function(){
$.getjson('json.php?jsoncallback=?',myfunction); 
  function myfunction(data) 
  { 
   var infohtml = ''; 
   $.each(data,function(contact,contactinfo) 
  { 
  // alert(contactinfo.name);
infohtml+='<p>name:'+contactinfo.name+'</p>'; 
   $('#info').html(infohtml); 
    }); 
  }
}); 
    });
</script> 
  </head> 
<body> 
<input type="button" id="btn1" value="提交1"> 
<form id="form1" action=""> 
   <input type="button" id="btn" value="提交"> 
</form> 
<div id="info"></div> 
</body>
</html>
其它类似信息

推荐信息