最簡明易懂的一個ajax無刷新留言系統了,源碼中省略了接受數據驗證的過程。讀者可根據自己的需求進行擴展。
核心源碼:
1.配置文件:config.php
<?php
//數據庫配置信息(用戶名,密碼,數據庫名,表前綴等)
$cfg_dbhost = "localhost";
$cfg_dbuser = "root";
$cfg_dbpwd = "root";
$cfg_dbname = "ajaxdemo1";
$cfg_dbprefix = "";
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
mysql_query("set names utf8");
?>
2.處理請求:deal.php
代碼如下 復制代碼
<?php
header("Content-type:text/html;charset=utf-8");
include "config.php";
//post接收數據,只是演示效果,這裡就省去驗證了
$name = $_POST['name'];
$content = $_POST['content'];
$sql = "insert into test (name,content) values ('{$name}','{$content}');";
$res = mysql_query($sql,$link);
if($res){
echo '{"name": "'.$name.'","content": "'.$content.'","status": "1"}';
}
?>
3.首頁代碼:index.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>
<link href="css/css.css" type="text/css" rel="stylesheet" />
<style type="text/css">
body{color:#555;font-size:14px;padding:0;margin:0;}
#form { background:#dedede; padding:10px 20px; width:300px;}
#show{ background:#f6f6f6;padding:10px 20px; width:300px;}
#show p{ margin:6px; font-size:13px; line-height:22px; border-bottom:1px dashed #cdcdcd;}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#sub").click(function(){
//只是說明原理,然後這裡省去了驗證文本框內容的步驟,直接發送ajax請求
$.post("deal.php",{name : $("#name").val(), content : $("#content").val()}, function(data){
if(data.status){
var str = "<p><strong>"+data.name+"</strong> 發表了:"+data.content+"</p>";
$("#show").prepend(str); //在前面追加
}else{
alert("評論失敗");
}
}, 'json');
});
});
</script>
</head>
<body>
<div id="form">
<form action="deal.php" method="get" id="suggest_form">
用戶名:<input type="text" name="name" id="name" /><br/>
內 容:<textarea name="content" id="content"></textarea>
<input type="button" value="發布" id="sub" />
</form>
</div>
<div id="show">
<?php
include "config.php";
$sql = "select * from test;";
$res = mysql_query($sql,$link);
while($row=mysql_fetch_array($res)){
echo "<p><strong>".$row['name']."</strong> 發表了:".$row['content']."</p>";
}
?>
</div>
</body>
</html>
數據庫文件
代碼如下 復制代碼
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
源碼下載地址:php+ajax實現無刷新的新聞留言系統下載