2014-11-20 48 views
1

我有一个问题正在转动我的头。我将解释这种情况......我正在使用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')); 
    } 
} 

我可以让em ails工作,但我不能运行重定向如果客户端没有登录到网站。有人可以帮助我吗?

+0

难道你不能只为你的点击函数添加引号()吗? – 2014-11-20 18:45:05

+0

你可以通过2种方式来实现这一点。方法1)简单的方法 - 你可以在客户端执行重定向(只需发送一个响应为“loginRequired”,并在ajax响应中检查此字符串并重定向到登录页面)方法2)应该使用重定向头将响应发送为302 – Asik 2014-11-20 18:46:22

回答

1

您可以将网址发送到AJAX,通过JavaScript重定向。

window.location.href = response.your_login_url ;