2012-10-05 2 views
0
<script> 
function sendForm() { 
    $.post("http://www.website.com/main/post.cfm",$("#testForm").serialize(),function(data,status){ 
    $("#result").html(data) 
    }); 
    return false 
} 

    $(document).ready(function() { 
    $("#testForm").submit(sendForm); 
}); 
</script> 

작업과 IFrame을 위해 다음과 같은 코드가 아닙니다 :IFrame을에서 JQuery와 포스트

<form id="testForm" method="post"> 
<label for="subscriberEmail">Enter your email</label> <input id="subscriberEmail" name="subscriberEmail" type="text" required="yes" validate="email" message="Please enter a valid email address" class="replaceText" value="Enter your email"/> 
<input id="subscribe" type="image" src="signup.png"/> 
</form> 

<div id="result"></div> 

아무 것도 div.result에 표시되지 않습니다. 그러나 공통 작업 = "http://www.website.com/main/post.cfm"을 사용하면 전체 IFrame을 다시로드하는 메시지를 성공적으로 반환합니다.

$ .post에 ColdFusion 페이지에 문제가있을 수 있습니까? 해결 방법이 있습니까? 아니면 대안이 있습니까?

답변

0

서버의 상호 도메인 정책을 확인하십시오. 교차 도메인 get 메소드 호출의 경우 JSONP를 사용하십시오.

0

짧은 대답은 "아니오, ColdFusion 페이지에 $ .post를 발행 할 수 없습니다"입니다. ColdFusion 서버에서 실행되는 CFM 코드는 수신 요청이 어떻게 구현되었는지를 완전히 인식하지 못합니다. 주소 표시 줄에 URL을 입력하고 링크를 클릭하거나 양식을 제출하거나 요청을 트리거하는 일부 클라이언트 측 스크립트와 아무런 차이가없는 것처럼 보입니다 . 따라서 ColdFusion의 문제는 아닙니다.

* 여기 JavaScript 문제 해결 (또는 그에 따른보고)이 있습니까? (만약 그렇다면 : 무엇?) *은 실제로 만들어진 post() 요청이고, 그렇다면 HTTP 요청의 세부 사항은 무엇이며 응답을 얻고 있습니까?

일시적으로 post() 호출을 vanilla ajax() 호출로 변환 할 가치가 있으므로 오류 처리기를 지정할 수 있으므로 오류가있는 경우 반응 할 수 있습니다 (예 : 콘솔에 오류를 기록하고, 기타).

관련 문제