<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
$name = $_POST['name'];
echo 'hello '.htmlentities($name);
echo '</response>';
?>
出错了。提示如下。无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------Prolog 外部不能有 DOCTYPE 声明。处理资源 'http://127.0.0.1:8088/test/test.php' 时出错。第 2 行,位置: 11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&...
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
$name = $_POST['name'];
echo 'hello '.htmlentities($name);
echo '</response>';
?>
出错了。提示如下。无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------Prolog 外部不能有 DOCTYPE 声明。处理资源 'http://127.0.0.1:8088/test/test.php' 时出错。第 2 行,位置: 11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&...
//这儿是否有HTML?有输出?
<?php
header('Content-Type: text/xml');
修改下php.ini output_buffering = On;
修改了还是不行。
以下是html的代码。上面的那份php是写在这份代码上方的。
<!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>首页</title><script type="text/javascript">
//script 代码...
</script>
</head>
<body>
<form action="" method="post" onsubmit="return SendRequest(); return false;">
<table>
<tr>
<td>
Name: <input type="text" id="name" maxlength="40" />
</td>
<td>
<input type="button" id="submit" value="submit" onclick="SendRequest()" />
</td>
</tr>
<tr>
<td><div id="showmesg" /></td>
</tr>
</table>
</form>
</body>
</html>
可以是
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!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">
<!-- 去掉了response元素, other html element -->
或者
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<isbody>
<response>hello,with name in $post</response><html xmlns="http://www.w3.org/1999/xhtml">
<!-- other html element -->
<isbody>
这样改了可以进去。
看注释那一句,加进去之后好像没办法访问这个页面?
<?php
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<isbody>
<?php
// header('Content-Type: text/xml');
echo '<response>';
$name = $_POST['name'];
echo '<div id="showmesg">';
echo 'hello '.htmlentities($name);
echo '</div>';
echo '</response>';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>首页</title><script type="text/javascript">
...
而且我还有一个关于ajax的问题,不知道你对ajax熟不熟?
因为它前面有输出所以会报出错误消息,导致文档结构出错。
把它单独放在代码第一行,保证前面不要有输出就行
ajax我也熟悉。这儿高人很多,没有解决不了的问题
像这样吗?好像还是进入不了。
<?php
header('Content-Type: text/xml');//add here
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<isbody>
<?php
// header('Content-Type: text/xml');
echo '<response>';
$name = $_POST['name'];
echo '<div id="showmesg">';
echo 'hello '.htmlentities($name);
echo '</div>';
echo '</response>';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>首页</title><script type="text/javascript">
...
还有,这是ajax的响应函数。XMLHttp_Object.responseXML返回[object],但是XMLHttp_Object.responseXML.documentElement却是null。而responseText里面是有需要的东西的。
function ResponseReq()
{
if(XMLHttp_Object.readystate==4)
{
if (XMLHttp_Object.status == 200)
{
var xmlResponse = XMLHttp_Object.responseXML;
// alert(XMLHttp_Object.responseXML.documentElement);
xmlDocumentElement = xmlResponse.documentElement;
var helloMessage = xmlDocumentElement.firstChild.data;
// helloMessage = document.getElementById('name').value;
document.getElementById("showmesg").innerHTML = 'hello '+'<i>'+helloMessage+'</i>';
}
else
{
alert("deal failed");
}
}
}
var xmlResponse = XMLHttp_Object.responseXML;
var obj = xmlResponse.documentElement;
var resObj = obj.getElementsByTagName('response')[0];
var divObj = resObj.getElementsByTagName('div')[0];
var text = divObj.childNodes[0];
// 节点值是 text.nodeValue;
// 修改文本节点值:
text.nodeValue = 'hello '+'<i>'+ text.nodeValue +'</i>';
现在用你那份js也是会错,因为obj还是null,所以下一句还是出错。
我觉得是那个header的问题,因为我这边添加进去之后还是没办法访问。
好像ajax是需要这个的,但是现在没加进去所以会出错。
我是用ie浏览器打开的。
echo '</response>';
exit;
?>
不输出html的话怎么弄那些输入框提交按钮呀?