一个PHP和AJAX相关的问题!急啊

xlbc 2009-08-26 04:20:20
之前发到AJAX里了,未解决,朋友们帮忙看看,这里也给分

http://topic.csdn.net/u/20090826/15/00307873-1337-47c6-8d5c-ace5c7627681.html
...全文
125 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
woshiguozhongbin 2009-08-28
代码和工怎
让人看的很舒服。。
回复
xlbc 2009-08-28
[Quote=引用 12 楼 xuzuning 的回复:]
帖出js调用active函数的代码
[/Quote]

在index.php中直接调用的:

<body onload="active('messageboard.php', null, 'POST', pageContents, 'xml')">
<div class="base">
<div class="top">留言板</div>
<div class="center">
<div class="cen_title">
<div class="area_inner">
<a href="#" onclick="displays('login','block')">管理员登陆</a>
<a href="#" onclick="displays('add','block')">留言</a>
<div id="user_lable">欢迎您,用户</div>
</div>
</div>
<div class="sepa_div"></div>
<div class="cen_inner">
<div id="loading">Loading...</div>
<div id="mesContent" style="width:100%"></div>
</div>
<div class="cen_bottom">
<div class="area_inner">
<div id="pagenum"></div>
<a href="#" onclick="actionpage('totalpage')">尾页</a>
<a href="#" onclick="actionpage('nextpage')">下一页</a>
<a href="#" onclick="actionpage('uppage')">上一页</a>
<a href="#" onclick="active('messageboard.php', null, 'POST', pageContents, 'xml')">首页</a>
</div>
</div>
</div>
</div>
回复
YHL27 2009-08-28
sf!!
回复
xuzuning 2009-08-28
帖出js调用active函数的代码
回复
foolbirdflyfirst 2009-08-28
传送过去看了看,也不太明白什么问题,本地没错误,别人机器上浏览你这个页面就有错误?
用firebug看下请求信息吧.
回复
jyliao 2009-08-28
js 貌似不兼容...嘎嘎
回复
xlbc 2009-08-28
[Quote=引用 9 楼 xuzuning 的回复:]
这是读死书的结果
XMLHTTP对象的open方法需要有一个url参数。教程里为了方便测试,一般就简单的指派
var url = '127.0.0.1';

这就给实际应用带来的麻烦,也是作者的败笔(或者他等本就不知道如何写通式)

其实写作(通式)
var url = location.href.substr(0, location.href.length-location.search.length);
就可以应付所有的情况了

[/Quote]

谢谢回复,

我的index.php里面的第一个参数是'messageboard.php',请问在ajax里要如何写你的那段代码?

index.php部分:

<body onload="active('messageboard.php', null, 'POST', pageContents, 'xml')">
<div class="base">
<div class="top">留言板</div>
<div class="center">
<div class="cen_title">
<div class="area_inner">
<a href="#" onclick="displays('login','block')">管理员登陆</a>
<a href="#" onclick="displays('add','block')">留言</a>
<div id="user_lable">欢迎您,用户</div>
</div>
</div>
<div class="sepa_div"></div>
<div class="cen_inner">
<div id="loading">Loading...</div>
<div id="mesContent" style="width:100%"></div>
</div>
<div class="cen_bottom">
<div class="area_inner">
<div id="pagenum"></div>
<a href="#" onclick="actionpage('totalpage')">尾页</a>
<a href="#" onclick="actionpage('nextpage')">下一页</a>
<a href="#" onclick="actionpage('uppage')">上一页</a>
<a href="#" onclick="active('messageboard.php', null, 'POST', pageContents, 'xml')">首页</a>
</div>
</div>
</div>
</div>



ajax.js

function active(url, params, methodType, dealMethod, resType) {
var contentType = null;
if (!methodType || methodType.toUpperCase() == "GET") {
methodType = "GET";
url = url + "?" + jsonToString(params) + "×tamp=" + new Date().getTime();
params=null;
}
if (methodType.toUpperCase() == "POST") {
methodType = "POST";
contentType = "application/x-www-form-urlencoded";
params = jsonToString(params) + "×tamp=" + new Date().getTime();
}
//实例化一个XMLHttpRequest对象
var xmlHttp = newXMLHttpRequest();
//当状态被改变的时候,你可以做你想做的
xmlHttp.onreadystatechange = getReadyStateHandler(xmlHttp, dealMethod, resType);
//设置到服务器的连接
// echo url;
xmlHttp.open(methodType, url);
if (contentType) {
xmlHttp.setRequestHeader("Content-Type", contentType);
}
//发送请求给服务器
xmlHttp.send(params);
}
回复
阿_布 2009-08-27
lz把ajax部分代码也贴出来看看。
回复
xuzuning 2009-08-27
这是读死书的结果
XMLHTTP对象的open方法需要有一个url参数。教程里为了方便测试,一般就简单的指派
var url = '127.0.0.1';

这就给实际应用带来的麻烦,也是作者的败笔(或者他等本就不知道如何写通式)

其实写作(通式)
var url = location.href.substr(0, location.href.length-location.search.length);
就可以应付所有的情况了
回复
lypfriends 2009-08-27
学习
回复
xlbc 2009-08-26
楼上的错了,以这个为准。




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>留言板</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/tools.js"></script>
<script type="text/javascript" src="js/messageboard.js"></script>
</head>

<body onload="active('messageboard.php', null, 'POST', pageContents, 'xml')">
<div class="base">
<div class="top">留言板</div>
<div class="center">
<div class="cen_title">
<div class="area_inner">
<a href="#" onclick="displays('login','block')">管理员登陆</a>
<a href="#" onclick="displays('add','block')">留言</a>
<div id="user_lable">欢迎您,用户</div>
</div>
</div>
<div class="sepa_div"></div>
<div class="cen_inner">
<div id="loading">Loading...</div>
<div id="mesContent" style="width:100%"></div>
</div>
<div class="cen_bottom">
<div class="area_inner">
<div id="pagenum"></div>
<a href="#" onclick="actionpage('totalpage')">尾页</a>
<a href="#" onclick="actionpage('nextpage')">下一页</a>
<a href="#" onclick="actionpage('uppage')">上一页</a>
<a href="#" onclick="active('messageboard.php', null, 'POST', pageContents, 'xml')">首页</a>
</div>
</div>
</div>
</div>

<input type="hidden" id="nextpage">
<input type="hidden" id="pages">
<input type="hidden" id="uppage">
<input type="hidden" id="totalpage">

管理员登陆
<div class="popup" id="login">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:200px;">
<div class="popupdivtitle">
<div style="width:85%;">管理员登录</div>
<div onclick="displays('login','none')" style="width:15%;cursor:pointer;">关闭</div>
</div>
<div class="popupdivcell">
<div style="width:35%;">用户名:</div>
<input type="text" id="user" style="width:100px;">
</div>
<div class="popupdivcell">
<div style="width:35%;">密 码:</div>
<input type="password" id="pass" style="width:100px;">
</div>
<input type="button" value="提 交" onclick="login()" style="margin-left:50px;" />
<input type="button" value="重 置" onclick="clearValues(['user','pass'])" />
</div>
</div>
</div>

</div>

回复
<div class="popup" id="reply">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:300px;">
<div class="popupdivtitle">
<div style="width:90%;">管理员回复</div>
<div onclick="displays('reply','none')" style="width:10%;cursor:pointer;">关闭</div>
</div>
<div style="border:1px solid #FFFFFF;">
<textarea cols="33" rows="6" id="replyContent"></textarea>
</div>
<input type="button" value="提 交" onclick="reply()" style="margin-left:100px;" />
<input type="button" value="重 置" onclick="clearValues(['replyContent'])" />
<input type="hidden" id="replyId">
<input type="hidden" id="replyPage">
</div>
</div>
</div>
</div>

留言
<div class="popup" id="add">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:400px;">
<div class="popupdivtitle">
<div style="width:90%;">留言</div>
<div onclick="displays('add','none')" style="width:10%;cursor:pointer;">关闭</div>
</div>
<div class="popupdivcell">
<div style="width:20%;">昵 称:</div>
<input type="text" id="name" size="20" maxlength="20"><span class="color_red">*</span>
</div>
<div class="popupdivcell">
<div style="width:20%;">邮 箱:</div>
<input type="text" id="email" size="20" maxlength="20">
</div>
<div class="popupdivcell">
<div style="width:20%;">Q Q:</div>
<input type="text" id="qq" size="20" maxlength="10"><span class="color_red">必须是数字,不能为空</span>
</div>
<div class="popupdivcell">
<div style="width:20%;">主 页:</div>
<input type="text" id="upage" size="20" maxlength="60">
</div>
<div class="popupdivcell">
<div style="width:20%;">标 题:</div>
<input type="text" id="title" size="20" maxlength="60"><span class="color_red">*</span>
</div>
<div style="border:1px solid #FFFFFF;">
<div style="width:20%;float:left;">内 容:</div>
<textarea cols="26" rows="4" id="content"></textarea><span class="color_red">*</span>
</div>
<input type="button" value="提 交" onclick="add()" style="margin-left:100px;" />
<input type="button" value="重 置" onclick="clearValues(['name','email','qq','upage','title','content'])" />
</div>
</div>
</div>
</div>
</body>
</html>
回复
xlbc 2009-08-26
[Quote=引用 4 楼 bevin_chen 的回复:]
空白的话先看看网页源码. 显示是什么东西.

[/Quote]


是段DIV+CSS

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>留言板</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/tools.js"></script>
<script type="text/javascript" src="js/messageboard.js"></script>
</head>

<body onload="active('messageboard.php', null, 'POST', pageContents, 'xml')">
<div class="base">
<div class="top">留言板</div>
<div class="center">
<div class="cen_title">
<div class="area_inner">
<a href="#" onclick="displays('login','block')">管理员登陆</a>
<a href="#" onclick="displays('add','block')">留言</a>
<div id="user_lable">欢迎您,用户</div>
</div>
</div>
<div class="sepa_div"></div>
<div class="cen_inner">
<div id="loading">Loading...</div>
<div id="mesContent" style="width:100%"></div>
</div>
<div class="cen_bottom">
<div class="area_inner">
<div id="pagenum"></div>
<a href="#" onclick="actionpage('totalpage')">尾页</a>
<a href="#" onclick="actionpage('nextpage')">下一页</a>
<a href="#" onclick="actionpage('uppage')">上一页</a>
<a href="#" onclick="active('messageboard.php', null, 'POST', pageContents, 'xml')">首页</a>
</div>
</div>
</div>
</div>

<input type="hidden" id="nextpage">
<input type="hidden" id="pages">
<input type="hidden" id="uppage">
<input type="hidden" id="totalpage">

管理员登陆
<div class="popup" id="login">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:200px;">
<div class="popupdivtitle">
<div style="width:85%;">管理员登录</div>
<div onclick="displays('login','none')" style="width:15%;cursor:pointer;">关闭</div>
</div>
<div class="popupdivcell">
<div style="width:35%;">用户名:</div>
<input type="text" id="user" style="width:100px;">
</div>
<div class="popupdivcell">
<div style="width:35%;">密 码:</div>
<input type="password" id="pass" style="width:100px;">
</div>
<input type="button" value="提 交" onclick="login()" style="margin-left:50px;" />
<input type="button" value="重 置" onclick="clearValues(['user','pass'])" />
</div>
</div>
</div>

</div>

回复
<div class="popup" id="reply">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:300px;">
<div class="popupdivtitle">
<div style="width:90%;">管理员回复</div>
<div onclick="displays('reply','none')" style="width:10%;cursor:pointer;">关闭</div>
</div>
<div style="border:1px solid #FFFFFF;">
<textarea cols="33" rows="6" id="replyContent"></textarea>
</div>
<input type="button" value="提 交" onclick="reply()" style="margin-left:100px;" />
<input type="button" value="重 置" onclick="clearValues(['replyContent'])" />
<input type="hidden" id="replyId">
<input type="hidden" id="replyPage">
</div>
</div>
</div>
</div>

留言
<div class="popup" id="add">
<div class="popupdivcover"></div>
<div class="popupdivshow">
<div class="popupdivshowarea">
<div class="popupdiv" style="width:400px;">
<div class="popupdivtitle">
<div style="width:90%;">留言</div>
<div onclick="displays('add','none')" style="width:10%;cursor:pointer;">关闭</div>
</div>
<div class="popupdivcell">
<div style="width:20%;">昵 称:</div>
<input type="text" id="name" size="20" maxlength="20"><span class="color_red">*</span>
</div>
<div class="popupdivcell">
<div style="width:20%;">邮 箱:</div>
<input type="text" id="email" size="20" maxlength="20">
</div>
<div class="popupdivcell">
<div style="width:20%;">Q Q:</div>
<input type="text" id="qq" size="20" maxlength="10"><span class="color_red">必须是数字,不能为空</span>
</div>
<div class="popupdivcell">
<div style="width:20%;">主 页:</div>
<input type="text" id="upage" size="20" maxlength="60">
</div>
<div class="popupdivcell">
<div style="width:20%;">标 题:</div>
<input type="text" id="title" size="20" maxlength="60"><span class="color_red">*</span>
</div>
<div style="border:1px solid #FFFFFF;">
<div style="width:20%;float:left;">内 容:</div>
<textarea cols="26" rows="4" id="content"></textarea><span class="color_red">*</span>
</div>
<input type="button" value="提 交" onclick="add()" style="margin-left:100px;" />
<input type="button" value="重 置" onclick="clearValues(['name','email','qq','upage','title','content'])" />
</div>
</div>
</div>
</div>
</body>
</html>-->
回复
Bevin_chen 2009-08-26
空白的话先看看网页源码. 显示是什么东西.
回复
xlbc 2009-08-26
对于其他人,
纯PHP的都可以访问,带ajax的就不可以。。
回复
xlbc 2009-08-26
刚才按照教程写了一个ajax留言本
发现在我自己机器上,通过127.0.0.1或者本机局域网IP都可以访问

但为什么局域网的其他机器就看不到我的网页?

或者说如何让局域网的可以看到我的网页?


看到的效果是状态栏显示完成,但页面一片空白
不是无法显示

而且获取的IP也不一样
通过$_SERVER['REMOTE_ADDR']获取ip;
phpinfo里的IP是局域网IP
带ajax的就是127.0.0.1

是否和这个有关系?

我现在的环境是php+apache+mysql。


回复
zqlee1216 2009-08-26
什么问题 写出来吧
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告