去年也是这个时候,开始学了ajax,也是这个技术领我走上了网页制作的道路,于是这样感觉到手写html比之前的dw拖拖拽拽要有意思得多。

话不多说,下面是一个例子:

这个是ajax显示页面:index.html

<!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>

<script type="text/javascript">

var xmlHttp;

/*创建对象函数*/

function GetXmlHttpObject()

{

var xmlHttp;

try

{

xmlHttp = new XMLHttpRequest();

}

catch(e)

{

try{

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

}

catch(e){

try{

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

catch(e){

alert("ajax对象创建失败,请安装最新的浏览器。");

return false;

}

}

}

return xmlHttp;

}

/*状态改变函数*/

function stateChanged()

{

if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")

{

document.getElementById("showArea").innerHTML += xmlHttp.responseText;

pauseButton();

}

}

/*刷新函数*/

function reflesh()

{

if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")

{

document.getElementById("showArea").innerHTML = xmlHttp.responseText;

pauseButton();

}

}

/*显示新博文到页面上*/

function showNewBlog()

{

var title = document.getElementById("title").value;

var content = document.getElementById("content").value;

var action = document.getElementById("action").value;

if(content.length < 1 || content.length >52)

{

alert("内容长度必须大于1并且小于52。");

return;

}

if(title.length == 0)

title="无题";



xmlHttp = GetXmlHttpObject();

if(xmlHttp == null)

{

alert("你的浏览器有问题。");

return;

}

var url = "blog.php";

url = url+"?title="+encodeURIComponent(title);

url = url+"&content="+encodeURIComponent(content);

url = url+"&action="+action;

url = url+"&sid="+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function initialPage()

{

var action = "initial";

xmlHttp = GetXmlHttpObject();

if(xmlHttp == null)

{

alert("你的浏览器不支持Ajax。");

return;

}

var url = "blog.php";

url = url+"?action="+action;

url = url+"&sid="+Math.random();

xmlHttp.onreadystatechange=reflesh;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function pauseButton()

{

document.getElementById("submit").disabled=true;

setTimeout("document.getElementById('submit').disabled=false",3000);

}

function deleteBlog(id)

{

var s = confirm("确定删除这篇随笔吗?");

if(s == true)

{

xmlHttp = GetXmlHttpObject();

if(xmlHttp == null)

{

alert("你的浏览器有问题。");

return;

}

var url = "blog.php";

var action= "delete";

url = url+"?id="+id;

url = url+"&action="+action;

url = url+"&sid="+Math.floor(Math.random()*100000);

xmlHttp.onreadystatechange=reflesh;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

else

return;

}

</script>

<style type="text/css">

.main{margin:0 auto; width:985px; font-family:"宋体";}

.clear{ clear:both;}

.form{margin-top:66px;}

.form textarea{}

.showArea{ }

.showArea div{ width:127px; height:160px; border:#000000 1px solid; overflow:hidden; float:left; margin-left:1px; margin-top:1px; cursor:pointer;}

.showArea h3{ font-size:14px; font-weight:bold; background:#CCCCCC; border-bottom:#666666 1px solid;margin:0px; padding:0px; text-align:center; line-height:20px;}

.showArea p{ font-size:12px; text-indent:2em; text-decoration:underline; line-height:18px; margin:3px 3px 0px 3px;}

.showArea i{ font-size:10px; margin-top:18px; text-align:right; margin-right:3px; display:block;}

.showArea span{ font-size:10px; display:block; float:right; margin-right:2px;}

</style>

</head>



<body>

<div class="main">

<div id="showArea" class="showArea"></div>

<div class="clear"></div>

<div class="form">

<form name="edit" id="edit" class="edit">

标题:<input type="text" size="30" id="title" maxlength="6" /><br />

<textarea rows="6" cols="40" id="content"></textarea><br />

<input type="hidden" id="action" value="add" />

<input type="button" id="submit" value="发随笔" onclick="showNewBlog()" />

</form>

</div>

</div>

<script type="text/javascript">

initialPage();

</script>

</body>

</html>

这个是服务端代码以及数据库结构:blog.php

<?php

/*数据表

--

-- 表的结构 `lewyblog`

--



CREATE TABLE `lewyblog` (

`id` int(11) NOT NULL auto_increment,

`title` varchar(20) default NULL,

`content` varchar(70) default NULL,

`dateline` int(11) default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;



*/

/********************************/

//数据库配置部分

$db_host="115.*.*.*";

$db_user="dbuser";

$db_password="dbpass";

$db_name="dbnme";

/********************************/

$con = mysql_connect($db_host,$db_user,$db_password);

mysql_select_db($db_name,$con);

mysql_query("set names utf8");



/****************Fuction Start********************/

function display_one_blog($id=1)

{

$sqlstr = "select * from lewyblog where id=".$id;

$res = mysql_query($sqlstr);

while($arr = mysql_fetch_array($res))

{

$content = "<div id='".$arr['id']."'><h3><span id='".$arr['id']."' onclick='deleteBlog(this.id)'>×</span>".$arr['title']."</h3><p>".$arr['content']."</p><i>".date("y-m-d H:i",$arr['dateline'])."</i></div>";

}

return $content;

}

function initial()

{

$sqlstr = "select * from lewyblog order by dateline asc";

$res = mysql_query($sqlstr);

$content = "";

while($arr = mysql_fetch_array($res))

{

$content .= "<div id=".$arr['id']."><h3><span id='".$arr['id']."' onclick='deleteBlog(this.id)'>×</span>".$arr['title']."</h3><p>".$arr['content']."</p><i>".date("y-m-d H:i",$arr['dateline'])."</i></div>";

}

return $content;

}

function display_new_blog()

{

$sqlstr = "select * from lewyblog order by dateline desc limit 1";

$res = mysql_query($sqlstr);

while($arr = mysql_fetch_array($res))

{

$content = "<div id=".$arr['id']."><h3><span id='".$arr['id']."' onclick='deleteBlog(this.id)'>×</span>".$arr['title']."</h3><p>".$arr['content']."</p><i>".date("y-m-d H:i",$arr['dateline'])."</i></div>";

}

return $content;

}

function insert_new_blog($title="",$content="")

{

$sqlstr = "insert into lewyblog (title, content, dateline) values('$title','$content',".time().")";

$res = mysql_query($sqlstr);

if(!$res)

{

return false;

}

else

return true;

}

function deleteBlog($id=0)

{

if(!$id)

{

return;

}

$sqlstr = "delete from lewyblog where id=".$id;

$res = mysql_query($sqlstr);

return;

}

/************************Function End**************************************/

if($_GET["action"]=="add")

{

$title = $_GET["title"];

$content = $_GET["content"];

if(insert_new_blog($title,$content))

{

echo display_new_blog();

}

else

{

die("插入数据库失败");

}



}

elseif($_GET["action"]=="initial")

{

echo initial();

}

elseif($_GET["action"]=="delete")

{

$id = $_GET["id"];

deleteBlog($id);

echo initial();

}

else

{

die("非法操作");

}



?>

收藏于 2009-02-23
来自于百度空间

ajax的基础的更多相关文章

  1. ajax技术基础详解

    一.概述 1.什么是ajax 可以与服务器进行[异步]交互的技术,浏览器无需刷新 2.什么时候出现ajax? -- XMLHttp 微软 1999年微软公司发布IE5版本,内嵌了ajax技术 什么时候 ...

  2. Ajax编程基础

    目录 Ajax编程基础 传统网站中存在的问题 Ajax概述 Ajax的应用场景 Ajax的运行环境 Ajax运行原理及实现 Ajax运行原理 Ajax的实现步骤 1.创建Ajax对象 2.告诉Ajax ...

  3. Ajax 学习 - 基础学习

    <AJax - Async Javascript and xml - 异步的JavaScript和XML> 一.基础认识 AJax技术的目的:实现页面无刷新数据动态更改 优点:  + 不需 ...

  4. Ajax之基础总结

    一.Ajax 简介 Ajax 由 HTML.JavaScript技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.在详细探讨 Ajax 是 ...

  5. Ajax——异步基础知识(一)

    基础概念 1.异步请求可以做到偷偷向服务器发送请求,而页面却不刷新 2.get异步请求传递参数是通过url追加键值对的方式 3.post异步请求比较特殊,需要设置请求的类型 User-Agent:浏览 ...

  6. Ajax之基础

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/liu_yujie2011com/article/details/29812777         几 ...

  7. Ajax全面基础学习(二)

    两种配置ajax的方式 $.ajax('url',{ 配置ajax}); $.ajax({ url : 'url' 其他ajax配置}) ajax的回调函数 $.ajax('url',{ //请求成功 ...

  8. Ajax全面基础学习(一)

    快捷方法: $.get(url,[data],[callback],[type])get方法的[data]将被链在url后面[callback]是请求成功后的回调,可以得到响应数据,如果请求失败,看不 ...

  9. 《所用到的AJAX技术基础》

    来自百度网页,w3cshool网页:AJAX = Asychronous JavaScript and XML,翻译成中文为:异步的JavaScript XML. 异步的意思就是不重新加载整个页面,后 ...

  10. ajax传输 基础一

    一个简单页面的传输 index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

随机推荐

  1. 老代码:js实现二级城市联动(MVC)

    FormViewCity 为mvc控制器传给view的数据,包括一个MyCitys集合字段. <%@ Page Title="" Language="C#" ...

  2. ncat的使用

    由于netcat的缺陷,所以有了升级版ncat,弥补了netcat的一些不足. ncat是nmap工具包的一个工具. 服务器端 ncat -c bash --allow 192.168.1.119 - ...

  3. numpy--深度学习中的线代基础

    参考自 微信公众号--深度学习世界(http://mp.weixin.qq.com/s?__biz=MzI4MDMwMDM3NA==&mid=2247484616&idx=1& ...

  4. 解决谷歌浏览器频繁出现adobe flash player因过期而遭到阻止的问题(转自知乎)

    作者:在战争中链接:https://www.zhihu.com/question/32223811/answer/128088278来源:知乎著作权归作者所有,转载请联系作者获得授权. 很多新用户在安 ...

  5. 关于CDh5.13.1 HDFS启用HA(High Availability)注意事情--(JournalNode 只有一个编辑路径)

    原因为:主机名不能为域名.更换成hadoop64 这种解决.

  6. centos 6.9 NTP基准时间服务器配置

    时间服务器端 yum install ntp -y vim /etc/ntp.conf 增加允许客户端访问 restrict 192.168.0.0 mask 255.255.0.0 nomodify ...

  7. 牛客网练习赛43-C(图论)

    题目链接:https://ac.nowcoder.com/acm/contest/548/C 题意:有n个知识点,学会每个知识点花T[i],已经学会了其中k个知识点,有m组关系,t1,t2,t3,表示 ...

  8. MongoDB之$关键字及$修改器$set $inc $push $pull $pop

    一.查询中常见的  等于   大于  小于  大于等于  小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...

  9. 基础DP(初级版)

    本文主要内容为基础DP,内容来源为<算法导论>,总结不易,转载请注明出处. 后续会更新出kuanbin关于基础DP的题目...... 动态规划: 动态规划用于子问题重叠的情况,即不同的子问 ...

  10. C#的扩展方法解说

    扩展方法的目的就是为一个现有类型添加一个方法,现有类型既可以是int,string等数据类型,也可以是自定义的数据类型. 为数据类型的添加一个方法的理解:一般来说,int数据类型有个Tostring的 ...