===============
<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 onload='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="#" onclick='getNews(3,"indextest1.php?id=","show_news")'>1</td>
<td width="18%" bgcolor="#FFFFFF"><a href="#" onclick='getNews(5,"indextest1.php?id=","show_news")'>2</td>
<td width="35%" bgcolor="#FFFFFF"><a href="#" onclick='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傳遞資料方法一例。並帶中文亂碼解決方案
上一個:ajax+php中文亂碼解決辦法 下一個:一個簡單的通用的JS刪除確認函數