我想在一个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')的部分内容请高手帮忙

解决方案 »

  1.   

    你是要插入php的代码还是php文件的运行结果?
      

  2.   

    可以用iframe啊
    需要php文件返回结果的话用Ajax把值返回就行
      

  3.   

    我要的是将*.php文件运行的结果 显示在index.html中
      

  4.   

    用iframe啊!!!!!我不会
    请指教
      

  5.   

    你可以用Firebug看一下你传的参数和得到的响应
      

  6.   

    我学Ajax 是现看的
    能不能具体点举例什么的~~~~~~~~~~~~~~~~~~~~~~谢谢
      

  7.   

    页面加载完毕之后 document 将被关闭
    此时如用
    document.writeln
    document.write
    将会将结果显示到新页面中而新页面没有 id 为 webpage 的控件,当然就看不到结果了
    除此之外,你的代码都是正确的
      

  8.   


    页面中有 <div id="webpage"></div>因为内容太多没写出来
    另外我是直接调用showsimple() 来显示的
    主要是我用document.writeln(xmlHttp.responseText)输出的不是*.php的执行结果,而是*.php中的部分代码。我想的是将*.php文件运行的结果 显示在index.html中
      

  9.   

    我想将*.php文件运行的结果 显示在index.html中
    你觉得可行不?
    你有什么办法?
    帮帮忙
      

  10.   

    document.getElementById("webpage").innerHTML=xmlHttp.responseText;
    后,webpage 只会显示页面的静态部分,而不会执行脚本
      

  11.   


    那怎么办?
    我想要的结果就是:*.php文件运行的结果 显示在index.html中
      

  12.   

    可以用IFRAME 将你要显示的*.php的输出内容显示出来 
    或者是讲index.html改为index.php 在你需要*.php的地方输出
      

  13.   

    可以用IFRAME 怎么显示?
    问题就是不能将 后缀名改为.php
      

  14.   

    你的代码都是正确的,你就不能看看你的返回信息吗!!
    在firefox上安装一个firebug,控制台里面可以看到ajax的结果,我估计你的页面路径都是错的,因为你根本没有提交成功,状态都是错的,怎么弄都不会输出的
      

  15.   

    静态和动态是有很大区别的,php是需要服务器的(apache或者IIS),HTML可以不需要这些东西,不知道你的服务器支持部,如果你的服务器不支持你就不要浪费时间了,想其他办法吧
      

  16.   

    我用document.writeln(xmlHttp.responseText)函数 输出的是*.php中的部分代码
    将index.html的后缀名改成 .php就可以显示 但我要的不是这个效果另外我安装了apache服务器
      

  17.   

    你试着用js的onload,加载完成之后才执行js,在加载的时候执行改变dom是个错误的写法
    另外我建议你用jquery或者ext,这些都是把ajax封装好的,都不需要自己判断浏览器
      

  18.   

    原来我是直接双击index.html的  就不能显示php文件中的内容
    后来在index.html前加http://127.0.0.1/ 就可以了
      

  19.   

    我用document.writeln(xmlHttp.responseText)函数 输出的是*.php中的部分代码 ???缺少了什么?
      

  20.   

    就是一些 html 元素没有了
    我想是网页前面没加http://127.0.0.1/
    我是直接打开html的
      

  21.   

    总是有一堆的问题要解决  在index.html前加上http://127.0.0.1/就可以显示了在IE 360中可以显示  但在火狐中就不能显示了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;
    }
    哪里不对???????????求助——————