2010-08-02 3 views
1

동일한 jscript 함수를 3 개 이상 동시에 호출하는 페이지에서 작업하고 있습니다. 테스트되고 여러 동시 Ajax 요청 (웹상에서 발견 된,이 새로운 문제에 직면하기 때문에 작동 함)과 함께 작동하는 함수를 사용하고 있습니다.오픈 스트림 오류, help (javascript, 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

답변

0

당신은 당신은 단지 요청을 시작한다는 것을 의미 비동기 요청을하고 있으며, 방법은 요청이 일을하거나하지 않을 경우 모르게 즉시 반환합니다.

응답이 도착할 때 호출되는 콜백 메서드를 사용하거나 대신 동기 요청을 수행해야합니다.

+0

감사합니다. Guffa, 나는 그것에 대해 조사 할 것입니다. – jamex

관련 문제