使用json_encode把数组或对象转化为 json,当有中文时传到前端时就会出现乱码,解决方法如下:
function getData(){
// var con=document.getElementById("content");
//ajax=createAjax();
ajax=window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
ajax.onreadystatechange=function(){
if(ajax.readyState ==4){
if(ajax.status==200){
var data=ajax.responseText;
//var json=decodeURIComponent(data);
alert(eval(data));
}else{
alert("页面请求失败");
}
}
}
ajax.open("get", "server.php", true);
ajax.send(null);
}
点击按钮触发函数:
<input type="button" οnclick="getData()" value="点击" />
server.php:
$json = array (
0 =>array (
'id' => '32',
'name' => '我的名字1'
),
1 =>array (
'id' => '33',
'name' => '我的名字2'
)
);
echo myjson($json);
function myjson($code)
{
$code = json_encode(urlencodeAry($code));
return urldecode($code);
}
function urlencodeAry($data)
{
if(is_array($data))
{
foreach($data as $key=>$val)
{
$data[$key] = urlencodeAry($val);
}
return $data;
}
else
{
return urlencode($data);
}
}