php、Ajax、Post的传值的例子,运行有问题,帮忙看看!!!!!!

hua_zhixing_ 2011-06-03 05:02:57
这是我在网上找到的一个例子,我运行时有问题,帮忙看看!http://cjmxp007.blog.163.com/blog/static/3547383720074252134287/
php Ajax Post 传值

用Ajax 进行Post传值

以下程序已调试通过:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>


<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 = "/ajax_output.php";

//需要POST的值,把每个变量都通过&来联接
var postStr = "user_name="+ userName +"&user_age="+ userAge +"&user_sex="+ userSex;

//实例化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>

</body>


以上页面存为ajax.php

然后再建 一个PHP文件,ajax_output.php

<?
echo $_POST['user_name'];
echo $_POST['user_age'];
echo $_POST['user_sex'];
?>

...全文
338 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lauphai 2013-12-26
  • 打赏
  • 举报
回复
ajax.status 返回 500 呀!!!!?!!
#blackheart 2011-06-03
  • 打赏
  • 举报
回复
var url = "/ajax_output.php";
不用/吧,
var userName = f.user_name.value;
var userAge = f.user_age.value;
var userSex = f.user_sex.value;
取值尽量用documen.getElementById();为每一个input加个id属性


if (ajax.readyState == 4){
if(ajax.status == 200) {
msg.innerHTML = ajax.responseText;
}
},我习惯分开写两个if,

具体什么错误LZ没说吧

toury 2011-06-03
  • 打赏
  • 举报
回复
ajax_output.php

<?
if(empty($_POST['username'])){die('ajax failed!')}
echo "ajax success!<br>";
echo $_POST['username'];
echo $_POST['userage'];
echo $_POST['usersex'];
?>
toury 2011-06-03
  • 打赏
  • 举报
回复
这样试试:
<script language="javascript">
function saveUserInfo(f){
var userName = f.user_name.value;
var userAge = f.user_age.value;
var userSex = f.user_sex.value;

var url = "/ajax_output.php?"+new Date().getTime();
var postStr="username="+ userName +"&userage="+ userAge +"&usersex="+userSex;

var xhr=new XMLHttpRequest()||new ActiveXObject("Microsoft.XMLHTTP");
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
//如果执行状态成功,那么就把返回信息写到指定的层里
if (xhr.readyState == 4 && (xhr.status == 200||xhr.status == 0)) {
document.getElementById("msg").innerHTML = xhr.responseText;
}
}
xhr.send(postStr);
}
</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(this.form)">
</form>
</body>

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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