使用exit()时,在此通话之前是否必须打印某些内容? 我写过标记/ ph,引用了外部css php脚本。该脚本使用print(或echo)和a 调用标题('类型:text / css')。在自我处理php页面中这不是很有用或必要吗?我发现 它们无穷无尽。使用获取查询和帖子,整个站点可以在任何状态下显示一页 来自形式。我记得我在早期开始学习php时断言的那篇文章 页面提交给自己,浏览器将自动使用异步请求。但在某些情况下 显式的ajax调用很有用。
答案 0 :(得分:0)
这是我在做什么以及我想做什么。 我在页面中有一个文本字段和一个按钮 我将文本写入文本字段并单击按钮 按钮的javascript单击事件处理程序获取文本字段值 并将其附加到附加到请求中的url的get查询。方法是
编辑:指定成功的环境。 我在Mac OSX上使用Firefox v12.0,在本地计算机上预安装了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>
我希望找到这个的人会找到它。我花了一段时间才把它弄好了