简明现代魔法 -> Ajax技术 -> 使用Ajax修改服务器端PHP文件的某个变量
使用Ajax修改服务器端PHP文件的某个变量
2010-01-22
要实现这个修改服务器端PHP中的某个变量,思路如下:
表单调用函数 submitform (theform, serverPage, objID, valfunc); 发送请求。
<div style="padding: 10px;">
<div id="themessage">
</div>
<form action="process_task.php" method="post" id="newtask" name="newtask">
Your Name<br />
<input name="yourname" id="yourname" style="width: 100px; height: 16px;"
type="text" value="" />
<input type="button" value="Go" onclick="submitform(document.getElementById('newtask'),'process_task.php','createtask',
validatetask); return false;" />
<div align="right"><a href="javascript:closetask()">close</a></div>
<div align="right"><a href="process_task.php" target="_blank">View Result</a></div>
</form>
</div>
表单调用的函数如下:
submitform(document.getElementById('newtask'),'process_task.php','createtask',validatetask);
先看一下这个函数如何实现发送表单数据到服务器。
这四个参数各代表什么呢?
- theform 参数,即表单 form 的名字。
- serverPage 参数,即服务器的文件。
- objID 就是显示服务器返回的数据的容器,这里用的是名为 createtask 的 div
- validatetask 是 javascript 中的一个函数,验证录入的内容。
这里关键是调用了 processajax() 函数实现了发送,这个函数如何工作呢?
这个函数的四个参数作用如下:
- serverPage 即服务器上的文件。
- obj,obj.innerHTML = xmlhttp.responseText; 即用来显示服务器相应回来的数据。
- getOrPost 发送的方式
- str 表单的数据
发送表单数据是调用 getformvalues() 函数获得表单数据的。看一下 getformvalues() 是如何设计的。
看一下 validatetask 的函数吧。
这个函数用到了另外一个函数 trim (thevalue) ,也介绍一下吧。
创建一个 XMLHttpRequest 请求的函数是必不可少的。
