PHP+AJAX 新手提问

standford 2010-04-21 03:57:19
我想学习一下AJAX,按着网上的实例试了一下,提交后没有任何反应,请高手指教以下,代码如下,
<script language="javascript">
function saveUserInfo()
{
//获取接受返回信息层
var msg = document.getElementById("msg");

//获取表单对象和用户信息值
var f = document.user_info;
var userName = f.user_name.value;
var userAge = f.user_age.value;
var userSex = f.user_sex.value;

//接收表单的URL地址
var url = "/login_mng.php";

//需要POST的值,把每个变量都通过&来联接
var postStr = "user_name="+ userName +"&user_age="+ userAge +"&user_sex="+ userSex;
//alert(postStr);
//实例化Ajax
//var ajax = InitAjax();


var ajax = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
ajax = new XMLHttpRequest();
if (ajax.overrideMimeType) {//设置MiME类别
ajax.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!ajax) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}




//通过Post方式打开连接
ajax.open("POST", url, true);

//定义传输的文件HTTP头信息
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//发送POST数据
ajax.send(postStr);

//获取执行状态
ajax.onreadystatechange = function() {
//如果执行状态成功,那么就把返回信息写到指定的层里
if (ajax.readyState == 4 && ajax.status == 200) {
msg.innerHTML = ajax.responseText;
}
}
}
</script>
<body >
<div id="msg"></div>
<form name="user_info" method="post" action="">
姓名:<input type="text" name="user_name" /><br />
年龄:<input type="text" name="user_age" /><br />
性别:<input type="text" name="user_sex" /><br />

<input type="button" value="提交表单" onClick="saveUserInfo()">
</form>


提交后的代码:<?
echo $_POST['user_name'];
echo $_POST['user_age'];
echo $_POST['user_sex'];
?>



请高手们指教一下,那里有问题,AJAX是不是要装什么东西还是配置什么东西。
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leep_see 2010-04-23
  • 打赏
  • 举报
回复
随便找一个ajax框架吧,很多的,jquery够用了
  • 打赏
  • 举报
回复
这代码在哪见过
床上等您 2010-04-21
  • 打赏
  • 举报
回复
干嘛不用 jquery
xuzuning 2010-04-21
  • 打赏
  • 举报
回复
代码没有问题,可以通过测试

如果依然有问题,则

else if (window.ActiveXObject) { // IE浏览器
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

先改为

else if (window.ActiveXObject) { // IE浏览器
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
standford 2010-04-21
  • 打赏
  • 举报
回复
今天的高手怎么不见了啊

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧