2014-02-13 81 views
0

我已經問過這一次,但現在我不能以同樣的方式修復它。我有一個smartwizard頁面,當我點擊完成時,我想通過ajax調用一個php函數,並從服務器獲取響應。阿賈克斯郵政不工作的第一次,但它的作品第二

所以會發生的是,當我第一次點擊它時,響應是我的頁面的完整html代碼,它不執行我的功能,但它重定向到其他頁面。 但是當我再次回到這個頁面並再次點擊它時,現在它給出了我想要的響應並執行該功能。

有沒有人有任何想法,爲什麼發生這種情況?

的Ajax功能:

if(confirm('Adicionar ao Carrinho?')){ 
    $.ajax({ 
     async:false, 
     url:'booking/add_to_cart', 

     success:function(response){ 
      alert(response); 
     }, 
     error: function() { 
      console.log($.makeArray(arguments)); 
     }, 
     complete: function() { 
      console.log($.makeArray(arguments)); 
     } 
    }); 
}else{ 
    return false; 
} 

我的PHP控制器功能:

public function add_to_Cart(){ 
    if(!isset($_SESSION['user_data'])){ 
     echo "Tem de fazer login para adicionar ao carrinho"; 
     exit(); 
    } 

    $detalhes_viagem=serialize($_SESSION['detalhes_viagem']); 
    $idcliente=$_SESSION['user_data']['idcliente']; 

    if(isset($_SESSION['hotel'])){ 
     $preco_hotel=$_SESSION['hotel']['preco_total'];  
     $hotel=serialize($_SESSION['hotel']); 
     unset($_SESSION['hotel']); 
    }else{ 
     $preco_hotel=0; 
     $hotel="FALSE"; 
    } 

    $voo="FALSE"; 

    if(isset($_SESSION['rent'])){ 
     $preco_rent=$_SESSION['rent']['preco_total'];  
     $rent=serialize($_SESSION['rent']); 
     unset($_SESSION['rent']); 
    }else{ 
     $preco_rent=0; 
     $rent="FALSE"; 
    } 

    if(isset($_SESSION['trans'])){ 
     $preco_trans=$_SESSION['trans']['preco_total'];  
     $trans=serialize($_SESSION['trans']); 
     unset($_SESSION['trans']); 
    }else{ 
     $preco_trans=0; 
     $trans="FALSE"; 
    } 

    if(isset($_SESSION['extras'])){ 
     $preco_extras=$_SESSION['extras']['preco_total'];  
     $extras=serialize($_SESSION['extras']); 
     unset($_SESSION['extras']); 
    }else{ 
     $preco_extras=0; 
     $extras="FALSE"; 
    } 

    $preco_total=$preco_hotel+$preco_rent+$preco_trans+$preco_extras; 
    $this->model->add_to_cart($hotel,$voo,$rent,$trans,$extras,$preco_total,$idcliente,$detalhes_viagem); 

    echo "something"; 
    exit(); 
} 

我的模型函數只是插入到數據庫這些值

什麼情況是,當我第一次進入頁面在設置它需要的會話之後,儘管ajax執行成功功能,但這不起作用。當我再次進入該頁面時,它可以100%工作。

+1

發佈您的代碼,或的jsfiddle,或$$ –

+0

哪裏是你的代碼..? –

+0

〜無法不看你的代碼! –

回答

0

試試這個使用jQuery

$(document).ready(function(){ 


if(confirm('Adicionar ao Carrinho?')){ 
    $.ajax({ 
     async:false, 
     url:'booking/add_to_cart', 

     success:function(response){ 
      alert(response); 
     }, 
     error: function() { 
      console.log($.makeArray(arguments)); 
     }, 
     complete: function() { 
      console.log($.makeArray(arguments)); 
     } 
    }); 
}else{ 
    return false; 
} 
});