【问题标题】:How to handle failed to open stream error, help (javascript, ajax)如何处理未能打开流错误,帮助(javascript,ajax)
【发布时间】:2010-08-02 06:50:13
【问题描述】:

我正在处理一个同时调用 3 个(或更多)相同 jscript 函数的页面。我正在使用一个经过测试并适用于多个并发 ajax 请求的函数(在网络上找到,它可以工作,因为我现在面临这个新问题)。

html就是这个

<div  id="1"> <script> ajax2(); </script> </div> 
<div  id="2"> <script> ajax2(); </script> </div> 
<div  id="3"> <script> ajax2(); </script> </div> 

如您所见,html 请求 3 个同时调用相同的函数。

ajax2() jscript 函数有这一行来请求打开文件

xhrObj.open("GET", "../testa.php",true);

问题是有时文件因为同时请求太多而无法打开,程序给出了一个

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 

Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/test/testa.php'

如何处理此错误并替换打开文件请求,以便打开另一个文件(即 testb.php)?

如果 testa.php 不可用,我尝试使用 testb.php 和 testc.php 作为 testa.php 的替换来处理替换。

var x = xhrObj.open("GET", "../testa.php",true);
if (!x) { var y = xhrObj.open("GET", "../testb.php",true);
          if (!y) { xhrObj.open("GET", "../testc.php",true);}
}

但代码不起作用。语法错误,因为它给出了相同的错误,并且警告显示 testa.php 始终是不可用的文件。

检查xhrobj.open是否正常的正确语法是什么,如果不正常,打开另一个文件?

TIA

【问题讨论】:

    标签: javascript ajax xmlhttprequest


    【解决方案1】:

    你是在做一个异步请求,也就是说你只是发起请求,然后方法立即返回,不知道请求是否有效。

    您要么必须使用响应到达时调用的回调方法,要么必须发出同步请求。

    【讨论】:

    • 谢谢 Guffa,我会调查的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多