我想在一个index.html中插入一个*.php文件。他们说用Ajax可以做到<script>
var xmlHttp; //定义XMLHttpRequest对象
function createXmlHttpRequestObject(){
if(window.ActiveXObject){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp=false;
} }else{
//如果在Mozilla或其他的浏览器下运行
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
xmlHttp=false;
}
}
//返回创建的对象或显示错误信息
if(!xmlHttp)
alert("返回创建的对象或显示错误信息");
else
return xmlHttp;
}function showsimple(){
createXmlHttpRequestObject();
xmlHttp.onreadystatechange=StatHandler; //判断URL调用的状态值并处理
xmlHttp.open("post",'upload/news.php', false);//插入的php文件
xmlHttp.send(null); }
function StatHandler(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
document.getElementById("webpage").innerHTML=xmlHttp.responseText;
}
else
{
document.writeln(xmlHttp.status);
document.writeln(xmlHttp.readyState)
}
}
</script>结果是输出的 xmlHttp.status=0 xmlHttp.readyState=4
用document.writeln(xmlHttp.responseText) 输出的是插入的php文件('upload/news.php')的部分内容请高手帮忙
var xmlHttp; //定义XMLHttpRequest对象
function createXmlHttpRequestObject(){
if(window.ActiveXObject){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp=false;
} }else{
//如果在Mozilla或其他的浏览器下运行
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
xmlHttp=false;
}
}
//返回创建的对象或显示错误信息
if(!xmlHttp)
alert("返回创建的对象或显示错误信息");
else
return xmlHttp;
}function showsimple(){
createXmlHttpRequestObject();
xmlHttp.onreadystatechange=StatHandler; //判断URL调用的状态值并处理
xmlHttp.open("post",'upload/news.php', false);//插入的php文件
xmlHttp.send(null); }
function StatHandler(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
document.getElementById("webpage").innerHTML=xmlHttp.responseText;
}
else
{
document.writeln(xmlHttp.status);
document.writeln(xmlHttp.readyState)
}
}
</script>结果是输出的 xmlHttp.status=0 xmlHttp.readyState=4
用document.writeln(xmlHttp.responseText) 输出的是插入的php文件('upload/news.php')的部分内容请高手帮忙
需要php文件返回结果的话用Ajax把值返回就行
请指教
能不能具体点举例什么的~~~~~~~~~~~~~~~~~~~~~~谢谢
此时如用
document.writeln
document.write
将会将结果显示到新页面中而新页面没有 id 为 webpage 的控件,当然就看不到结果了
除此之外,你的代码都是正确的
页面中有 <div id="webpage"></div>因为内容太多没写出来
另外我是直接调用showsimple() 来显示的
主要是我用document.writeln(xmlHttp.responseText)输出的不是*.php的执行结果,而是*.php中的部分代码。我想的是将*.php文件运行的结果 显示在index.html中
你觉得可行不?
你有什么办法?
帮帮忙
后,webpage 只会显示页面的静态部分,而不会执行脚本
那怎么办?
我想要的结果就是:*.php文件运行的结果 显示在index.html中
或者是讲index.html改为index.php 在你需要*.php的地方输出
问题就是不能将 后缀名改为.php
在firefox上安装一个firebug,控制台里面可以看到ajax的结果,我估计你的页面路径都是错的,因为你根本没有提交成功,状态都是错的,怎么弄都不会输出的
将index.html的后缀名改成 .php就可以显示 但我要的不是这个效果另外我安装了apache服务器
另外我建议你用jquery或者ext,这些都是把ajax封装好的,都不需要自己判断浏览器
后来在index.html前加http://127.0.0.1/ 就可以了
我想是网页前面没加http://127.0.0.1/
我是直接打开html的
function createXmlHttpRequestObject(){
if(window.ActiveXObject){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp=false;
}}else{
//如果在Mozilla或其他的浏览器下运行
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
xmlHttp=false;
}
}
//返回创建的对象或显示错误信息
if(!xmlHttp)
alert("返回创建的对象或显示错误信息");
else
return xmlHttp;
}
哪里不对???????????求助——————