Home > php教程 > php手册 > php查询mysql中的数据,并将结果返回为JSON格式,提取JSON中的数

php查询mysql中的数据,并将结果返回为JSON格式,提取JSON中的数

WBOY
Release: 2016-06-06 19:53:25
Original
1161 people have browsed it

有这样一个问题:用AJAX返回数据时,怎么提取其中的信息,并将其写入网页的不同部分? 在W3CSCHOOL中提到过用AJAX返回的数据用JSON数据式,本人使用的是PHP作为后台脚本。 一开始自己拼装JSON式的数据,但是效果不好,后来查资料用了PHP中json_encode()函数

有这样一个问题:用AJAX返回数据时,怎么提取其中的信息,并将其写入网页的不同部分?
在W3CSCHOOL中提到过用AJAX返回的数据用JSON数据格式,本人使用的是PHP作为后台脚本。
一开始自己拼装JSON格式的数据,但是效果不好,后来查资料用了PHP中json_encode()函数,

$str是要待处理的数据,使用下面的语句即可输出json格式的数据,

其中JSON_NESCAPED_UNICODE说的是使用UNICODE格式的编码,

手册上说“该函数只能接受 UTF-8 编码的数据”,格式有很多种

echo json_encode($row,JSON_UNESCAPED_UNICODE);
Copy after login

前台页面发起ajax请求,核心部分是处理ajax返回的数据xmlHttp.respondText,

利用这条语句处理 txt=xmlHttp.responseText ;var obj = eval ("(" + txt + ")");,其中eval函数是关键。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

ajax请求的代码如下:

var xmlHttp=null
function get_pic(str)
{ 
	/*search the file in mysql table pydot and pydot_g,
	then give the result to front page.start ajax request*/
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	 {
	 alert ("Browser does not support HTTP Request")
	 return
	 }
	var url="Public/Js/json.php";
	url=url+"?q="+str.innerHTML
	url=url+"&sid="+Math.random()
	//alert(url)
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function stateChanged() 
{ 
var txt,x;
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { txt=xmlHttp.responseText ;
   //alert(txt)
	var obj = eval ("(" + txt + ")");
	document.getElementById("other").innerHTML=obj.other;
	document.getElementById("title").innerHTML=obj.title;
 } 
}

function GetXmlHttpObject()
{
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;
}
Copy after login

从代码中我们可以看出obj.title 提取出了返回文本中的title信息,并将其写入页面中id='title'的元素中。
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template