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%工作。
發佈您的代碼,或的jsfiddle,或$$ –
哪裏是你的代碼..? –
〜無法不看你的代碼! –