这就是我正在做的和我正在做的事情。 我有一个文本字段和一个页面中的按钮 我写文本到文本字段并单击按钮 该按钮的JavaScript单击事件处理程序获取文本字段值 并将其附加到附加到该url的get查询在请求中。方法是获取
编辑:指定已成功的环境。 我使用Firefox v12.0在Mac OSX上预装了本地计算机上的apache服务器。 (任何一个运行OSX的Mac,都有一个预先安装好的apache服务器,但是激活php需要编辑httpd.com文件 以取消加载php模块的行的注释。此外,还有一行 告诉Apache使用什么扩展名来查找和执行php代码,还必须告诉它 以index.php作为索引文件来运行php并将其作为目录索引文件)
JavaScript代码:
function _FETCH()
{
this.init = function(oName, elem, txt)
{
var but = document.getElementById(elem);
but.addEventListener('click', function(){ oName.req('GET', self, '', null, oName, txt) })
}
this.req = function(method, url, type, msg, oName, txt)
{
var field = document.getElementById(txt);
url+="?ajxTst="+encodeURIComponent(field.value);
var it = new XMLHttpRequest();
it.open(method, url, type);
it.setRequestHeader('Content-Type', 'text/plain');
it.onreadystatechange = function()
{
var elem = document.getElementById('well');
switch(it.readyState)
{
case 0:
case 1:
break;
case 2:
case 3:
elem.childNodes[0].data = " waiting";
break;
case 4:
oName.handleResponse(it.responseText);
break;
default:
alert('ajax processing error');
break;
}
}
it.send(msg);
}
this.handleResponse = function(resp)
{
var elem = document.getElementById('well');
elem.childNodes[0].data = " "+resp;
}
}
的PHP,JavaScript和标记在页面:
<?php
/*
created 11/4/2014
*/
$_self = basename($_SERVER['PHP_SELF']);
if($_POST || $_GET)
{
if($_GET['ajxTst'])
{
header("Content-Type: text/plain");
print $_GET['ajxTst'];
exit();
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>JS lab 2</title>
<link rel="stylesheet" type="text/css" href="local.css" media="screen" />
<script type="text/javascript" src="local.js">
</script>
<script type="text/javascript">
//<![CDATA[
var self = "<?php print $_self; ?>";
window.onload = function()
{
var ajx = new _FETCH();
ajx.init(ajx, 'send', 'tlk');
}
//]]>
</script>
</head>
<body>
<div class="panel">
<p class="title">Js Lab 2</p>
<p class="norm"><a href="../?uar=lab_3">Lab 3 home</a></p>
<p class="norm">Work with ajax and self processing page (this)</p>
<hr />
<p class="norm" id="well"> idle </p>
<p class="norm">
<input type="text" id="tlk" value="" /><input type="button" id="send" value="send" />
</p>
</div>
</body>
</html>
我希望找到这个的人会找到它。我花了一段时间才搞定它
你为什么认为需要打印什么? – 2014-11-05 00:43:16
脚本如何在没有它的情况下发送任何内容? – user1739140 2014-11-05 00:50:44
为什么它需要发送任何东西?根本不需要HTTP POST操作来生成任何内容。 – 2014-11-05 00:57:58