<script language="javascript">
function InitAjax()
{
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
function getNews(newsID,url,calssid)
{
//如果没有把参数newsID传进来
if (typeof(newsID) == 'undefined')
{
return false;
}
//需要进行Ajax的URL地址
var url = url+ newsID;
//获取新闻显示层的位置
var show = document.getElementById(calssid);
//实例化Ajax对象
var ajax = InitAjax();
//使用Get方式进行请求
ajax.open("GET", url, true);
//获取执行状态
ajax.onreadystatechange = function() {
//如果执行是状态正常,那么就把返回的内容赋值给上面指定的层
if (ajax.readyState == 4 && ajax.status == 200) {
show.innerHTML = ajax.responseText;
}
}
//发送空
ajax.send(null);
}
</script>
<body οnlοad='getNews(2,"indextest1.php?id=","show_news")';>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr>
<td width="30%" height="72" bgcolor="#FFFFFF"> </td>
<td width="17%" bgcolor="#FFFFFF"><a href="#" οnclick='getNews(3,"indextest1.php?id=","show_news")'>1</td>
<td width="18%" bgcolor="#FFFFFF"><a href="#" οnclick='getNews(5,"indextest1.php?id=","show_news")'>2</td>
<td width="35%" bgcolor="#FFFFFF"><a href="#" οnclick='getNews(4,"indextest1.php?id=","show_news")'>3你好吗?< /td>
</tr>
<tr>
<td height="223" bgcolor="#FFFFFF"> </td>
<td colspan="3" bgcolor="#FFFFFF"><div id="show_news"></div></td>
</tr>
</table>
==============================
indextest1.php
=======================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
</head>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="6%"> </td>
<td colspan="2"> </td>
</tr>
<?
if(empty($id)){$id=3;}
$sql="select * from test where test=$id order by id desc limit 0,15";
$result=mysql_query($sql,$myconn)or die(mysql_error());
while($row=mysql_fetch_array($result))
{
//主要看这里
$tt = iconv("gb2312","UTF-8",$row["hhome2"]);
?>
<tr>
<td> </td>
<td width="77%">《<a href="index3.php?id=<? echo $row[0] ?>"><? echo $tt; ?></a>》</td>
<td width="17%"><? echo $row[7]; ?></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($myconn);?>
AJAX 中文亂碼解決
用 AJAX 讀取一個中文頁面時,很多時會出現亂碼,因為 XMLHTTP 處理返回的 responseText 時,會用 UTF-8 編碼解讀,如果頁面送出的文件是 UTF-8 編碼便沒有問題,但如果所使用用的是 BIG5 或者 GB 編碼,就會出現亂碼情況。
解決方法是在送出的頁面加一個 HTTP Header 指定所使用的編碼,方法為:
PHP: header("Content-Type:text/html;charset=BIG5");
ASP: Response.Charset("BIG5")
JSP: response.setHeader("Charset","BIG5");
本篇:PHP+AJAX传递数据方法一例。并带中文乱码解决方法