我想做这样的事情:
第A页有一个指向第B页的链接 页面B从数据库获取内容并对其进行处理 页面B的结果显示在第A页的div中
请注意,当页面B处理数据库的信息时,我不想离开页面A.
我真正想做的是避免在网站中使用框架,并且我想让网页显示在div
中。这可能吗?
我猜它有点像一个新手问题,但这真的让我烦恼,我甚至不知道从哪里开始寻找。
答案 0 :(得分:10)
你想要AJAX!
AJAX会这样做,但步骤将与您描述的步骤略有不同
答案 1 :(得分:2)
您正在寻找的是JavaScript和AJAX。
答案 2 :(得分:1)
您想要做这个客户端而不是服务器端。我个人喜欢JQuery
您可能必须拥有Page B的简单版本。这很常见。如果您想要一些例子,请告诉我。
答案 3 :(得分:1)
这个例子可能有很多错误,但它应该让你走上正轨:)
档案a.php
<html>
<body>
<script type="text/javascript" src="stuff.js"></script>
Data to process please: <input type="text" name="datatoprocess" id="datatoprocess" />
<br />
<input type="button" value="Do Something" onclick="dostuff();" />
<hr />
<div id="resultarea">
</div>
</body>
</html>
文件b.php
<?php
$message = '';
if ( isset( $_REQUEST['datatoprocess'] ) ) {
$datatoprocess = $_REQUEST[ 'datatoprocess' ];
if ( strlen( $datatoprocess ) > 0 ) {
if ( $datatoprocess == 'foo' ) {
$message = '<span style="color:#ffff00;background:#ff0000;">bar</span>';
} else {
$message = 'You sent me: "'.htmlentities($datatoprocess).'"';
}
} else {
$message = 'That is really short data.';
}
} else {
$message = 'No data to process in request?';
}
echo $message;
?>
file stuff.js
// poor man quick and dirty ajax :|
function dostuff() {
var xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request.");
return;
}
var datatoprocess = document.getElementById('datatoprocess').value;
var url="b.php"
+"?datatoprocess=" + escape(datatoprocess)
;
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
var AjaxAnswer = xmlHttp.responseText ;
document.getElementById('resultarea').innerHTML = AjaxAnswer;
}
};
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function GetXmlHttpObject() {
var objXMLHttp=null;
if (window.XMLHttpRequest) {
objXMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return objXMLHttp;
}
答案 4 :(得分:0)
简答:不。
您需要一些客户端脚本或AJAX才能执行此操作。
答案 5 :(得分:0)
结帐XAJAX。
它是一个用于PHP的AJAX库,它基本上可以满足您的需求 它编写了处理客户端方面所需的Javascript。
您将执行以下操作。 1.在您的php页面中包含XAJAX库。 2.注册您的功能 3.使用xajax_phpfunctionName()
从javascript调用客户端答案 6 :(得分:0)
正如其他人所说,这需要通过某种AJAX设置来完成。如果您比PHP更熟悉PHP(或服务器端脚本而不是客户端脚本),我还建议您结帐XAJAX。 [这是亚当在我回答的时候发布的。]
答案 7 :(得分:0)
好吧,我最初想要做的是让PHP将页面的HTML(和PHP)内容转储到另一个页面上的DIV(听起来很奇怪,我知道)。你这样做的方法是使用这个函数:
ob_start();
include($filename);
$return_str = ob_get_contents();
ob_end_clean();
如果这样做,它将解析$ filename文件中的PHP并将结果返回到字符串中。要使其转储并显示内容,只需删除最后一行。
我有点新手,这可能不是最好的方法,但它对我有用。希望它有所帮助。