0
나는 이미 한 번만 물었습니다. 그러나 이제는 같은 방식으로 고칠 수 없습니다. smartwizard 페이지가 있는데, 마침을 클릭하면 PHP 함수를 호출하여 서버에서 응답을 얻고 싶습니다.Ajax 포스트는 처음 작동하지 않지만 두 번째로 작동합니다.
내가 처음 클릭 할 때 응답은 내 페이지의 전체 HTML 코드이며 내 기능을 수행하지만 다른 페이지로 리디렉션됩니다. 하지만이 페이지로 다시 돌아가서 다시 클릭하면 원하는 응답이 제공되고 기능이 실행됩니다.
아무도 이런 일이 발생하는 이유에 대해 아이디어가 있습니까?
아약스 기능 :
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 컨트롤러 기능 :
내 모델 기능이 바로 DB에 삽입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가 성공 함수를 실행하더라도 이것이 작동하지 않습니다. 페이지에 다시 들어가면 alredy가 100 % 작동합니다.
포스트 코드, 또는 jsfiddle, 또는 $$ –
를 코드는 어디 시도 ..? –
~ 코드를 보지 않고는 도움을 얻을 수 없습니다! –