v2.5.2
Giriş yap

"Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse" hatası

nahic2525
727 defa görüntülendi
       <form id="telefonform<?php echo $m['telefon_id'];?>" method="POST">


        
        <div id="mailonay<?php echo $m['telefon_id'];?>" class="form-group">
        <label  class="form-label">E-Posta Adresi</label>
        <input id="oymails" type="hidden" name="oy">
        <input type="email"  name="eposta" class="form-control" aria-describedby="emailHelp">
        <div  class="form-text">Geçerli Bir E-Posta Adresi Giriniz.</div>
        </div>

    
        <div id="onaykodu<?php echo $m['telefon_id'];?>" class="form-group">
        <label  class="form-label">Onay Kodunuz</label>
        <input type="text"   name="onay" class="form-control" >
        <input type="hidden" name="onaykodu">
        <div  class="form-text">4 Haneli Onay Kodunuzu Giriniz.</div>
        </div>

        <button id="mailgonderbuton<?php echo $m['telefon_id'];?>" type="submit" class="btn btn-primary mt-3">Kod Gönder</button>
        <button id="dogrulamakodbuton<?php echo $m['telefon_id'];?>" type="submit" class="btn btn-success mt-3">Anketi Onayla</button>

        </form> 
        
        
        <script>

$(document).ready(function(){


  $("#onaykodu<?php echo $m['telefon_id']; ?>").hide();
  $("#dogrulamakodbuton<?php echo $m['telefon_id']; ?>").hide();

});


$("#telefonform<?php echo $m['telefon_id'];?>").on('submit',(function(e){

$.ajax({
url:"islem.php",
type:"POST",
data:new FormData(this),
contentType:false,
cache:false,
processData:false,
success: function(data){

    veri=JSON.parse(data); 
    swal("Bilgi",veri.message,veri.status)

    if(veri.islemno=="1"){

  $("#oymails").attr('disabled');
  $("#mailonay<?php echo $m['telefon_id']; ?>").hide();
  $("#mailonay<?php echo $m['telefon_id']; ?>").remove();
  $("#mailgonderbuton<?php echo $m['telefon_id']; ?>").hide();
  $("#dogrulamakodbuton<?php echo $m['telefon_id']; ?>").show();
  $("#onaykodu<?php echo $m['telefon_id']; ?>").show();

}else{

}
}
});
return false;
}));
 </script>

sweetalert olarak kullanıyorum ilk formdan sonra ikinci form geliyor yani kullanıcı anket kodunu girip tamamlayacak fakan anketi onayla butonuna tıkladığımda Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse hatasını alıyorum

 <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
 <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

kaç gündür problemi çözemedim lütfen bilen birisi varsa yardım edebilirmi yada nere hata yapıyorum söyleyebilirmi ? şimdiden teşekkürler

islem.php 'de yazan kodlar ise bunlar hatalı olan div'i onaykodu olan form

if($mail->Send()){

$data['status']="success";
$data['message']="NOT:".$_POST['eposta'].' Adresine 4 Haneli Kod Gönderilmiştir.';
$data['islemno']="1";
echo json_encode($data); 
}else{
$data['status']="error";
$data['message']="OLMUYOR";
echo json_encode($data); 
}


if($_POST['onaykodu']){

$onay = strip_tags($_POST['onay']);

$data['status']="error";
$data['message']="OLMUYOR";
echo json_encode($data); 




}
Cevap yaz
Cevaplar (8)
nahic2525
544 gün önce

@tayfunerbilen abinin dedigi gibi yaptim

veri data yaptim sadece ama dedigim gibi
ilk form basarili ama ikinci formun
anketi onayla butonuna tikladigimda hic bir tepki
alamiyorum.

ilkerndaskin
544 gün önce

Jsona parse etmeden denesen çalışır aslında, controllerinden dönen veri zaten json

nahic2525
545 gün önce

İlk Form Başarılı bir şekilde dönüyor fakat ikinci formda Anketi Onayla Butonuna tıkladığımda hiç bir cevap alamıyorum @tayfunerbilen abi

    <button id="dogrulamakodbuton<?php echo $m['telefon_id'];?>" type="submit" class="btn btn-success mt-3">Anketi Onayla</button>

bu butondan hiç bir şekilde cevap alamıyorum.

tayfunerbilen
545 gün önce

cunku zaten backend'den JSON donduruyorsun, su kismi kaldir:

veri=JSON.parse(data); 

onun yerine direk data kullan zaten javascript objesi dönüyor olacak. console'a bakıp gelen değerlere bakabilirsin:

console.log(data)
nahic2525
546 gün önce

Uncaught SyntaxError: "[object Object]" is not valid JSON

hatasını verdi bu seferde abi.

tayfunerbilen
546 gün önce

$.ajax metodunda dataType olarak json vermeyi denediniz mi?

$.ajax({
    ...
    dataType: 'json',
    ...
})
nahic2525
547 gün önce

const veri= JSON.parse(JSON.stringify(data));
swal("Bilgi",veri.message,veri.status)

yaptığımda hata veriyor yine

uncaught SweetAlert: 2nd argument ('undefined') is invalid bu hatayı veriyor.

devepdogukan
547 gün önce

islem.php ' den dönen cevap json formatında değil gibi duruyor. Cevabın tam olarak ne döndürdüğünü bilmeden ilerlemek zor.
Parse yapmadan önce dönen cevabı stringe çevirip parse yapmayı dene

const veri= JSON.parse(JSON.stringify(data));