> php教程 > php手册 > php ajax返回 json数据实例

php ajax返回 json数据实例

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-02 09:14:11
원래의
1377명이 탐색했습니다.

本教程是一款php ajax返回 json数据实例,就是利用ajax实时的接受json.php文件发送的数据请求,并且进行了处理,代码如下:

nbsp;html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 
	 
	 
	<meta> 
	<title>php ajax返回 on数据实例</title> 
	<script> 
	var xmlhttp; 
	function createxmlhttprequest() 
	{ 
	//var xmlhttp=null; 
	try 
	  { 
	  // firefox, opera 8.0+, safari 
	  xmlhttp=new xmlhttprequest(); 
	  } 
	catch (e) 
	  { 
	  // internet explorer 
	  try 
	    { 
	    xmlhttp=new activexobject("msxml2.xmlhttp"); 
	    } 
	  catch (e) 
	    { 
	    xmlhttp=new activexobject("microsoft.xmlhttp"); 
	    } 
	  } 
	return xmlhttp; 
	} 
	function startrequest(id) 
	{ 
	    createxmlhttprequest(); 
	    try 
	    {    
	     url="json.php?cid="+id; 
	        xmlhttp.onreadystatechange = handlestatechange; 
	        xmlhttp.open("post", url, true); 
	        xmlhttp.send(null); 
	    } 
	    catch(exception) 
	    { 
	        alert("xmlhttp fail"); 
	    } 
	} 
	function handlestatechange() 
	{ 
	    if(xmlhttp.readystate == 4) 
	    { 
	        if (xmlhttp.status == 200 || xmlhttp.status == 0) 
	        { 
	            var result = xmlhttp.responsetext; 
	            var json = eval("(" + result + ")"); 
	            alert(&#39;name:&#39;+json.name); 
	            alert(&#39;age:&#39;+json.age); 
	   alert(&#39;id:&#39;+json.id); 
	        } 
	    } 
	} 
	</script> 
	 
	 
	 
	<div> 
	        <input> 
	    </div> 
	 
	 
로그인 후 복사

json.php 文件,代码如下:

<?php 
	/************************************************************** 
	 * 
	 * 使用特定function对数组中所有元素做处理 
	 * @param string &$array  要处理的字符串 
	 * @param string $function 要执行的函数 
	 * @return boolean $apply_to_keys_also  是否也应用到key上 
	 * @access public 
	 * 
	 *************************************************************/ 
	function arrayrecursive(&$array, $function, $apply_to_keys_also = false) 
	{ 
	    static $recursive_counter = 0; 
	    if (++$recursive_counter > 1000) { 
	        die(&#39;possible deep recursion attack&#39;); 
	    } 
	    foreach ($array as $key => $value) { 
	        if (is_array($value)) { 
	            arrayrecursive($array[$key], $function, $apply_to_keys_also); 
	        } else { 
	            $array[$key] = $function($value); 
	        } 
	 
	        if ($apply_to_keys_also && is_string($key)) { 
	            $new_key = $function($key); 
	            if ($new_key != $key) { 
	                $array[$new_key] = $array[$key]; 
	                unset($array[$key]); 
	            } 
	        } 
	    } 
	    $recursive_counter--; 
	} 
	 
	/************************************************************** 
	 * 
	 * 将数组转换为json字符串(兼容中文) 
	 * @param array $array  要转换的数组 
	 * @return string  转换得到的json字符串 
	 * @access public 
	 * 
	 *************************************************************/ 
	function json($array) { 
	 arrayrecursive($array, &#39;urlencode&#39;, true); 
	 $json = json_encode($array); 
	 return urldecode($json); 
	}//开源代码phprm.com 
	 
	$array = array 
	       ( 
	          &#39;name&#39;=>&#39;希亚&#39;, 
	          &#39;age&#39;=>20, 
	    &#39;id&#39;=>$_post[&#39;cid&#39;] 
	       ); 
	 
	echo json($array); 
	/********* 
	 {"name":"希亚","age":"20"} 
	
로그인 후 복사

文章地址:

转载随意^^请带上本文地址!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿