문제

양식을 작성하고 어떤 사이트에 대한 게시물 요청을 수행하는 데 사용할 수 있습니다. 양식 방법은 비동기식이 아니므로 페이지가로드를 완료 한시기를 알아야합니다. 나는 내부에 형태가있는 iframe을 사용하여 이것으로 엉망이되었지만 성공하지 못했습니다.

어떤 아이디어?

편집하다

불행히도 응답 데이터를 제어 할 수 없으며 XML, JSON에서 간단한 텍스트에 이르기까지 다릅니다.

도움이 되었습니까?

해결책

당신은 캡처 할 수 있습니다 onload 이벤트 iframe. 당신의 대상 form iframe에게 onload를 듣습니다. 하지만 Iframe의 내용에 액세스 할 수는 없습니다.

다음과 같은 것을 시도하십시오.

<iframe id='RS' name='RS' src='about:blank' onload='loaded()'></iframe>

<form action='wherever.php' target='RS' method='POST'>...</form>

스크립트 블록 :

var loadComplete = 0
function loaded() {
    //avoid first onload
    if(loadComplete==0) {
        loadComplete=1
        return()
    }
    alert("form has loaded")
}

다른 팁

크로스 도메인 요청을하려면 JSON 호출을하거나 서버 사이드 프록시를 사용해야합니다. 서버 사이드 프록시는 설정하기 쉽고 사람들이 왜 그렇게 피하는지 확실하지 않습니다. 사람들이 프록시를 사용하여 다른 것을 요청할 수 없도록 규칙을 설정하십시오.

크로스 도메인 게시물에서 반환 된 데이터가 JSON 인 경우 데이터를 반환하는 URI를 가리키는 스크립트 태그를 동적으로 추가 할 수 있습니다. 브라우저는 해당 "스크립트"를로드하여 다른 JavaScript에서 액세스 할 수 있습니다.

Yui3'에스 io 객체는 크로스 도메인 요청을 제공하지만 페이지에 포함 된 작은 플래시 컨트롤을 사용하면됩니다.

현재 JavaScript의 보안 크로스 도메인 요청에 대한 작업이 있지만 현재 Flash 또는 Silverlight와 같은 플러그인을 요청을위한 브리지로 사용해야합니다.

JavaScript를 사용하여 크로스 도메인을 할 수 없습니다. PHP 또는 ASP와 같은 백엔드 언어를 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top