2010-03-01 6 views
1

나는 일부 숙박 시설 웹 사이트를 작성하고 있습니다. 나는 페이팔 (PayPal) 페이지로 클라이언트를 리디렉션하기 전에 모든 관련 데이터를 MySql 데이터베이스에 삽입해야합니다.자바 스크립트 화재 PHP 파일 및 답장을 기다려야합니다

내 질문은 : 내가 재생 키우면에 기다리지 않고 (자바 스크립트에서) PHP는 화재 어떻게

(그리고 PHP를 발사 페이지가 더 이상 아무런 문제도하지 않습니다 것입니다 존재하지 않는 것이라는 사실이)
+1

당신은 AJAX와 아마 jQuery와 같은 자바 스크립트 프레임 워크를 조사해야합니다. –

답변

0

AJAX를 사용하십시오. 관련 데이터가있는 적절한 PHP 스크립트에 XMLHttpRequest을 보내고 스크립트에서 성공적인 응답을 받으면 클라이언트를 리디렉션하십시오.

+0

예,이 옵션을 마지막으로 사용했습니다. 페이지 전체에 모든 데이터를 드래그하고 싶지 않았습니다 ... 자바 스크립트를 사용하지 않는 경우 ... 내 사이트의 절반 정도가 제대로 작동하지 않습니다. – ori

3

데이터를 데이터베이스에 삽입하고 Paypal 페이지로 리디렉션해야하는 경우에는 양식을 서버에 게시하고 데이터를 데이터베이스에 쓴 다음 클라이언트로 리디렉션을 다시 보냅니다. 그래서 : 그것은 자바 스크립트로이있는 경우

<?php 
// save data to database 
header('Location: http://www.paypal.com'); 
exit; 
+0

나는 그 생각을했으면 좋겠다! –

2

, 나는이 정상 AJAX 작업 할 것 (JQuery based Ajax 여기를 참조하십시오.)

을 내가 요청을 시작하지만, 그것은 위험한 찾을 수 없습니다 답장을 기다리십시오. 사용자의 네트워크가 정체되어 있고 요청이 클라이언트 측에서 대기해야하고 사용자가 다음 페이지로 진행하기 전에 절대로 내 보내지 않으면 어떻게됩니까? success 이벤트를 기다리는 것이 더 좋습니다.

JavaScript를 사용하면 JavaScript가 꺼져 있거나 JavaScript 오류가 발생하면 중요한 데이터가 데이터베이스에 기록되지 않고 쇼핑 절차가 계획대로 진행될 수 있다는 단점이 있습니다. 이것이 정말로 당신이 원하는 것인지 확인하십시오. Cletus의 header 기반 접근 방식은 확실히 가장 안전합니다.