2012-08-14 4 views
0

아약스를 사용하여 양식 데이터를 api url로 보내고 양식을 작성한 사용자를 감사 페이지로 리디렉션하려고합니다.AJAX는 성공 후 리디렉션합니다.

<form id="valform"> 
<!-- form elements --> 
</form> 
<div id="status_message"></div> 

간단한 형태의 코드는 위이며, 아약스 코드는

$(document).ready(function(){ 
var API_URL = 'http://www.some-api-provider.com/api.php';  
$('#valform').on('submit', function (e){ 
e.preventDefault(); 

$.ajax({ 
    type: 'GET', 
    url: API_URL, 
    data: $('#valform').serialize(), 
    success: function() { 
    window.location.href = "thankyou.html"; 

    }, 
    error: function() { 
    alert('There was a problem!'); // do something better than this! 
    } 
}); 
return false; 
}); 

이 코드에 문제가 있나요 받고있다? GET 섹션에 경고 메시지가 계속 표시되므로 무언가 잘못되었다고 가정합니다.

+0

도메인 간 AJAX 자체는 문제입니다. – ahren

+0

에는 인증 매개 변수가 있습니까? –

답변

1

파일이 API_URL과 동일한 도메인에서 호스팅되지 않으면 AJAX가 요청을 중지하므로 오류 메시지가 표시됩니다. 이것은 해킹 기술인 XSS (Cross Site Scripting)을 중지하는 것입니다. 이를 same-domain 정책이라고합니다.

+0

이 문제를 해결하려면 어떻게해야합니까? – user1532944

+0

동일한 서버에 파일을 호스팅 하시겠습니까? – Polyov

+1

또는 서버를 사용하여 동일한 도메인에서 호스팅되는 프록시를 통해 API 데이터를 수집하십시오. – ahren

관련 문제