最近想在帖子的阅读页面给每一层楼添加一个按钮,点击此按钮可以将该楼作者添加成为自己的好友,并且用ajax实现页面无刷新,于是写了下面的代码,但无论怎么运行都无反应,由于我初学ajax经验不足,摸索很久都不知道是哪里出了问题,请知道的人帮帮小弟...phpwind5.3,mysql5,php5,论坛正常运行这个是添加在read.htm里面的代码<script language="J禁用词语aScript">
var xmlhttp = false;
var currentPos = null; //开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest)
{
//Mozilla浏览器
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {//设置MIME类别
xmlhttp.overrideMIMEType('text/xml');
}
}
else if (window.ActiveXObject)
{
//ie浏览器
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){}
}
}
///对象初始化结束 //发送http请求
function sendRequest(url) {
if (!xmlhttp) {//异常,创建对象实例失败
window.alert("不能创建XLHttpRequest对象实例");
return false;
}
//却锁定发送请求的方式和url以及是否同步执行下段代码
xmlhttp.open("GET",url,true);
//指定处理函数
xmlhttp.onreadystatechange = processRequest;
//发送请求
xmlhttp.send(null);
} //处理返回信息的函数
function processRequest() {
if (xmlhttp.readyState == 4) //判断对象状态
{
if (xmlhttp.status == 200)//信息已经成功返回,开始处理信息
{
alert(xmlhttp.responseText);
}else {//页面不正常
alert("您所请求的页面有异常");
}
} //添加好友
function addFriend(id)
{
sendRequest("profile.php?action=friend&job=ajax&touid="+id);
}
</script>
这一句是加在修改按钮的后面的
<a href="j禁用词语ascript:void(0)" onClick="addFriend($read[authorid])"><img src="$imgpath/$stylepath/read/edit.gif" align="absmiddle" alt="加作者为好友"/></a>
下面这个是profile.php服务端添加的代码
Copy code
if($_GET["job"]=='ajax'){//处理ajax请求
$action=$_GET["action"];
$job=$_GET["job"];
$touid=$_GET["touid"];
$touid = (int)$touid;
$rt=$db->get_one("SELECT uid,username FROM pw_members WHERE uid='$touid'");
if(!$rt){
$errorname = $touid;
Showmsg('user_not_exists');
}
$rs = $db->get_one("SELECT uid FROM pw_friends WHERE uid='$winduid' AND friendid='$rt[uid]'");
if($rs){
Showmsg('friend_already_exists');
}
$db->update("INSERT INTO pw_friends(uid,friendid,joindate) VALUES('$winduid','$rt[uid]','$timestamp')");
echo "添加好友成功";
}
var xmlhttp = false;
var currentPos = null; //开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest)
{
//Mozilla浏览器
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {//设置MIME类别
xmlhttp.overrideMIMEType('text/xml');
}
}
else if (window.ActiveXObject)
{
//ie浏览器
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){}
}
}
///对象初始化结束 //发送http请求
function sendRequest(url) {
if (!xmlhttp) {//异常,创建对象实例失败
window.alert("不能创建XLHttpRequest对象实例");
return false;
}
//却锁定发送请求的方式和url以及是否同步执行下段代码
xmlhttp.open("GET",url,true);
//指定处理函数
xmlhttp.onreadystatechange = processRequest;
//发送请求
xmlhttp.send(null);
} //处理返回信息的函数
function processRequest() {
if (xmlhttp.readyState == 4) //判断对象状态
{
if (xmlhttp.status == 200)//信息已经成功返回,开始处理信息
{
alert(xmlhttp.responseText);
}else {//页面不正常
alert("您所请求的页面有异常");
}
} //添加好友
function addFriend(id)
{
sendRequest("profile.php?action=friend&job=ajax&touid="+id);
}
</script>
这一句是加在修改按钮的后面的
<a href="j禁用词语ascript:void(0)" onClick="addFriend($read[authorid])"><img src="$imgpath/$stylepath/read/edit.gif" align="absmiddle" alt="加作者为好友"/></a>
下面这个是profile.php服务端添加的代码
Copy code
if($_GET["job"]=='ajax'){//处理ajax请求
$action=$_GET["action"];
$job=$_GET["job"];
$touid=$_GET["touid"];
$touid = (int)$touid;
$rt=$db->get_one("SELECT uid,username FROM pw_members WHERE uid='$touid'");
if(!$rt){
$errorname = $touid;
Showmsg('user_not_exists');
}
$rs = $db->get_one("SELECT uid FROM pw_friends WHERE uid='$winduid' AND friendid='$rt[uid]'");
if($rs){
Showmsg('friend_already_exists');
}
$db->update("INSERT INTO pw_friends(uid,friendid,joindate) VALUES('$winduid','$rt[uid]','$timestamp')");
echo "添加好友成功";
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货