我正在为一个图板编写代码,我的用户将能够发布文本文件,这些文本文件将作为页面加载到css层中。我有一个简单的php脚本,它接受一个文件名和一些参数(用于开始行和每页行),打开传递的文件,并将该文件的一部分显示为html:
http://pastebay.com/115710
我可以通过在浏览器中调用它并在url中设置get字符串来确认该脚本是否工作。
我通过AJAX使用jQuery调用这个脚本,将函数绑定到页面中的文本文件的任何链接,以便当单击这些链接时,打开一个层,然后(我想要做的是)将php文件返回的html转储到该层:
http://pastebay.com/115711
当我使用相同的AJAX调用时,使用textfile本身,调用是成功的,我可以将文本文件的内容加载到层中。
当我通过AJAX调用php文件时,当php文件从未打开传递的文本文件时,我会得到以下响应:
阻塞警告:文件(http://localhost/kusabax/lit/src/nrd.txt) function.file:未能打开流:连接尝试失败是因为连接方在一段时间后没有正确响应,或者已建立的连接失败是因为连接主机未能响应。在第6行的C:\xampp\xampplite\htdocs\kusabax\textview.php中,致命错误:在第6行的C:\xampp\xampplite\htdocs\kusabax\textview.php中超过60秒的最大执行时间
不管问题是什么,都需要尝试打开文本文件本身--如果我使用fopen()或file(),结果是相同的,如果没有这一行,脚本将正常运行(显然没有任何有用的结果)。
我还应该提到,我尝试过将iframe写入#prevwin层,并将php脚本加载到iframe中,只需将get属性写入src字符串(甚至根本不使用AJAX )--但我仍然得到了相同的超时。
发布于 2011-03-02 19:20:38
我想我解决了。
将文件名作为绝对url发送到php脚本是个问题。我编辑了javascript,将url字符串更改为相对url,方法是拆分href字符串并接受当前文件夹和文件名,并构建一个新的url:
s = this.href;
a = s.split("/");
board = a[4];
src = a[a.length-1];
relhref="./"+board+"/src/"+src;
然后将relhref传递给AJAX函数。
https://stackoverflow.com/questions/5138942
复制相似问题