2010-12-22 1 views
1

제출 이벤트 양식 (양식에 다른 이벤트가 있음) 에 후크를 추가했으며 createlement (스크립트)를 사용하여 다른 도메인의 서버로 제출을보고해야합니다. .양식 onsumbit에서 비동기 작업을 수행하는 방법

createlement (스크립트)가 서버에 성공적으로 액세스했는지 확인하기 위해 제출 기능을 기다리게하려면 어떻게해야합니까?

+1

일부 코드를 게시 할 수 있습니까? – dheerosaur

답변

0

매우 우아하지 않은 해결책은 스크립트가 서버 응답을 확인했는지 (응답 확인) 시간 간격을 사용하는 것입니다. 이 경우에는 setInterval을 사용하십시오.

+0

하지만 어떻게 내 onsubmit 함수가 이것을 기다리게합니까? – Nir

+0

귀하의 요청은 무엇입니까? – Thariama

1

JavaScript 이벤트을 사용해보십시오. 특정 이벤트가 발생할 때 호출 할 함수를 등록 할 수 있습니다. predefined events 중 일부를 사용하여 코드 완성을 알리거나 Yahoo! 라이브러리를 사용하여 서버 요청의 완료를 나타낼 수있는 custom events을 만듭니다 (짧은 Google 검색으로 마지막 것을 찾았지만 유망 해 보입니다).

JS에 내장 된 맞춤 이벤트 아키텍처가있을 것으로 예상했지만 실제로는 그렇지 않았습니다. 따라서 Yahoo!와 같은 외부 라이브러리를 사용해야합니다. 맡은 일. 어쩌면 이것은 가까운 장래에 바뀔 것입니다. 이것은 내 지식 위에있다. 그러나 내가 설명한 문제를 정확히 해결하기 때문에 이벤트를 사용하는 것이 좋습니다.

(Thariama 설명처럼 또는 당신은 어느 쪽의 수면 사이클 또는 가능한 일반 통화 중 대기가 권장되지 않습니다하지 바쁜 대기를 할 수 있습니다..)

그림 :

<script> 
// register function b() for custom event 

function a() { 
    //upload 
    // (takes time... but no busy wait) 

    //fire custom event 
} 

function b() { 
    //do some other code 
} 
</script> 

<body> 

<form onsubmit="a()"> 
</form> 

</body> 
+0

이 질문에 대한 대답이 아닙니다. 나는 사건이 무엇인지 압니다. 내 질문을 읽으면 실제로 양식 제출 이벤트를 잡는 것을 볼 수 있습니다. +