- 主题:新手求助ajax问题,谢谢
我用如下的例子调用一个html出来
<html>
<head>
<title>Ajax Example</title>
<script type="text/javascript">
var xmlobj; //定义XMLHttpRequest对象
function CreateXMLHttpRequest()
{
if(window.ActiveXObject)
//如果当前浏览器支持ActiveXObject,则创建ActiveXObject对象
{
xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
//如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象
{
xmlobj = new XMLHttpRequest();
}
}
function ReqHtml() //主程序函数
{
CreateXMLHttpRequest(); //创建对象
xmlobj.onreadystatechange = StatHandler; //判断URL调用的状态值并处理
xmlobj.open("GET", "a.html", true); //调用a.html
xmlobj.send(null); //设置为不发送给服务器任何数据
}
function StatHandler() //用于处理状态的函数
{
if(xmlobj.readyState == 4 && xmlobj.status == 200)
{
document.getElementById("webpage").innerHTML = xmlobj.responseText;
}
}
</script>
</head>
<body>
<p><a href="#" onclick="ReqHtml();">Request HTML page</a></p>
<p><div id="webpage"></div></p>
</body>
</html>
我的问题是我这个页面中的a.html是通过系统调用另一个程序生成的
可能需要花2分钟左右才能生成这个a.html
这在想如果这个a.html还没有生成的时候当用户点击超链接的时候
能不能给个提示正在生成?
或者在生成之前有个动态图一直告诉用户正在生成结果中呢?
谢谢:)
--
FROM 211.99.222.*
对不起没有说清楚
这段代码我本来是要放在一个php文件里面的
最开始是根据获得的参数在php里用system命令调用一段python脚本生成我需要的html内容
现在我加了这段代码之后
感觉速度还是没有变快
因为system命令在前面要运行比较长的时候,不知道怎么样把这个花费时间的system命令写在什么地方。。。。。
还有这个例子在ie6下不能运行,不知道有没有解决方法?
非常感谢:)
【 在 N92 (N92) 的大作中提到: 】
: <p><div id="webpage">正在处理中,请稍后...</div></p>
--
修改:lidaof FROM 211.99.222.*
FROM 211.99.222.*
【 在 lidaof (lidaof) 的大作中提到: 】
: 标 题: 新手求助ajax问题,谢谢
: 发信站: 水木社区 (Wed Nov 11 15:50:08 2009), 站内
:
: 我用如下的例子调用一个html出来
: <html>
: <head>
: <title>Ajax Example</title>
: <script type="text/javascript">
: var xmlobj; //定义XMLHttpRequest对象
: function CreateXMLHttpRequest()
: {
: if(window.ActiveXObject)
: //如果当前浏览器支持ActiveXObject,则创建ActiveXObject对象
: {
: xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
: }
: else if(window.XMLHttpRequest)
: //如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象
: {
: xmlobj = new XMLHttpRequest();
: }
:
: }
: function ReqHtml() //主程序函数
: {
: CreateXMLHttpRequest(); //创建对象
: xmlobj.onreadystatechange = StatHandler; //判断URL调用的状态值并处理
: xmlobj.open("GET", "a.html", true); //调用a.html
: xmlobj.send(null); //设置为不发送给服务器任何数据
这里加一句
document.getElementById("webpage").innerHTML="正在加载....";
: }
: function StatHandler() //用于处理状态的函数
: {
: if(xmlobj.readyState == 4 && xmlobj.status == 200)
: {
: document.getElementById("webpage").innerHTML = xmlobj.responseText;
: }
: }
: </script>
: </head>
: <body>
: <p><a href="#" onclick="ReqHtml();">Request HTML page</a></p>
: <p><div id="webpage"></div></p>
: </body>
: </html>
:
: 我的问题是我这个页面中的a.html是通过系统调用另一个程序生成的
: 可能需要花2分钟左右才能生成这个a.html
: 这在想如果这个a.html还没有生成的时候当用户点击超链接的时候
: 能不能给个提示正在生成?
: 或者在生成之前有个动态图一直告诉用户正在生成结果中呢?
: 谢谢:)
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*]
--
FROM 61.135.255.83
呵呵,这也是个也方法,谢谢
js里面能调用python程序吗。。。
【 在 sly9 (= =b) 的大作中提到: 】
: 这里加一句
: document.getElementById("webpage").innerHTML="正在加载....";
--
FROM 211.99.222.*
这个方法是最常用的了。。
js里头不能调用python程序
需要你服务器暴露出个接口来,然后js发异步请求去请求这个url、然后服务器再调用python的对应的程序这样
【 在 lidaof (lidaof) 的大作中提到: 】
: 呵呵,这也是个也方法,谢谢
: js里面能调用python程序吗。。。
--
FROM 61.135.255.83
给足够权限的话,可以
【 在 lidaof (lidaof) 的大作中提到: 】
: 呵呵,这也是个也方法,谢谢
: js里面能调用python程序吗。。。
--
FROM 202.106.68.*
有没有简单点的例子来看看
我就是想在php里面用system调用一个python程序生成一个html
然后把html显示出来
不过这个过程会花费比较长的时间,所以想中间出个加载的信息
等Html生成了再自动显示出来,之前提示用户正在加载中...
谢谢:)
【 在 sly9 (= =b) 的大作中提到: 】
: 这个方法是最常用的了。。
: js里头不能调用python程序
: 需要你服务器暴露出个接口来,然后js发异步请求去请求这个url、然后服务器再调用python的对应的程序这样
: ...................
--
FROM 211.99.222.*
感觉会拖慢速度的样子...
【 在 sayinger (言者) 的大作中提到: 】
: 给足够权限的话,可以
--
FROM 211.99.222.*