머리가 돌고 있다는 문제가 있습니다. 나는 상황을 설명 할것이다. 나는 opencart 프로젝트에 참여하고 있는데, 이렇게 작동하는 버튼을 만들었다. 클릭하면, 웹 사이트 소유자에게 모든 것이 장바구니에 있음을 알리고, 이러한 제품은 고객 데이터를 통합하며 사용자가 로그인 한 경우에만 전자 메일을 보낼 수 있으며 문제가 시작됩니다.AJAX로 PHP 함수를 호출하지만 리디렉션이 작동하지 않습니다.
<div class="checkout-button"><a id="button-quotation" class="button">click me</a></div>
을 그 다음 AJAX를 통해 PHP 함수를 호출 할이를 확인하기 :
이 고객이 클릭 할 버튼입니다
$(document).ready(function(){
$('#button-quotation').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = 'index.php?route=checkout/cart/quotation',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert("works!!");
});
});});
그리고 여기에 리디렉션 기능이 그 로그인하지 않은 경우 클라이언트를 로그인 페이지로 보냅니다.
public function quotation(){
if (!$this->customer->isLogged()) {
$this->session->data['redirect'] = $this->url->link('checkout/cart', '', 'SSL');
$this->redirect($this->url->link('account/login', '', 'SSL'));
}
}
ails 작동하지만 클라이언트가 사이트에 로그인하지 않은 경우 리디렉션을 실행할 수 없습니다. 누군가 내가 제발 도와 줄 수 있니?
클릭 기능에 견적()을 추가 할 수 없습니까? –
당신은 이것을 2 way로 할 수 있습니다. 접근 방법 1) 간단한 방법 - 클라이언트 측에서 리다이렉션을 수행 할 수 있습니다. (그냥 "loginRequired"로 응답을 보내고 아약스 응답에서이 문자열을 체크하고 로그인 페이지로 리다이렉션합니다) 접근 2) 리디렉션 헤더와 함께 302로 응답을 보내야합니다. – Asik